小编Dan*_*erg的帖子

WebSocket 是否与 HTTP/3 兼容

即将到来的 HTTP/3 标准不再基于 TCP,而是基于 QUIC 协议。WebSocket 基于 TCP 并作为 HTTP 更新启动。

是否基于 QUIC 而不是 TCP 作为 HTTP/3 更新启动的 WebSocket 连接?或者无法将 HTTP/3 连接更新为 WebSocket 连接?

http websocket http3

8
推荐指数
2
解决办法
2520
查看次数

为什么 Python 的请求比 C 的 libcurl 快 10 倍?

对于 1.6 MB 的请求(需要800 毫秒,而/有时需要多达7 秒),Python 的requests库似乎比 C 的库libcurl(C API、CLI 应用程序和 Python API)快 10 倍。requestscurllibcurl

  • 为什么是这样?

  • 我怎样才能curl在 C 中运行得像requests在 Python 中一样快?

libcurl似乎以 16KB 块的形式得到答复,而请求似乎一下子就得到了整个事情,但我不确定是不是这样......我试过了,curl_easy_setopt(curl_get, CURLOPT_BUFFERSIZE, 1<<19)但让缓冲区大小变小似乎只有好处。

我试着看源代码requests,而且我觉得它使用urllib3作为它的HTTP“后端” ......但使用urllib3直接在相同的(失望)导致的结果使用curl

这里有些例子。

/*
gcc-8 test.c -o test -lcurl  &&  t ./test
*/
#include <curl/curl.h>

int main(){
  CURLcode curl_st;
  curl_global_init(CURL_GLOBAL_ALL);

  CURL* curl_get …
Run Code Online (Sandbox Code Playgroud)

c python https curl libcurl

8
推荐指数
1
解决办法
1166
查看次数

如何使用c-ares将IP解析为主机?

这就是我到目前为止所做的.它编译,但当我尝试运行它时会出现段错误.

#include <iostream>
#include <netdb.h>
#include <arpa/inet.h>
#include <ares.h>

void dns_callback (void* arg, int status, int timeouts, struct hostent* host)
  {
    std::cout << host->h_name << "\n";
  }

int main(int argc, char **argv)
  {
    struct in_addr ip;
    char *arg;
    inet_aton(argv[1], &ip);
    ares_channel channel;
    ares_gethostbyaddr(channel, &ip, 4, AF_INET, dns_callback, arg);
    sleep(15);
    return 0;
  }
Run Code Online (Sandbox Code Playgroud)

c++ linux dns c-ares

7
推荐指数
1
解决办法
4403
查看次数

使用curlftpfs的FTP非常慢,无法使用

我使用curlftpfs挂载了ftp位置.问题是它非常缓慢到无用的程度.几乎所有事情的执行时间大约是10秒.它甚至包括让任何VIM命令工作,包括导航(!).我开始认为也许我做错了什么,因为根本无法满足这种反应.使用FileZilla下载 - > edit->上传文件要快得多,如果我需要等待10秒才能将光标向下移动到vim中的一行.任何人都知道为什么会这样?有些curlftpfs选项可以让它更快吗?

我有很好的联系.

ftp curlftpfs

7
推荐指数
2
解决办法
5998
查看次数

如何在节点中使用客户端证书进行HTTPS GET

我可以使用curl发出GET请求->

`curl -v https://example.com:82/v1/api?a=b` -E client_cert.pem:password 
Run Code Online (Sandbox Code Playgroud)

我如何在节点中使用相同的。我尝试了请求,超级代理,但无法通过证书。

提前致谢!

ssl curl certificate node.js npm

7
推荐指数
1
解决办法
8342
查看次数

PHP-CURL的curl_multi_exec内部真的是多线程的吗?

我的问题非常简单,如标题所述.但是我再说一遍.

我想使用php-curl下载多个站点.我将从控制台运行它.我将使用curl_multi_exec下载所有网站.现在问题是,curl会为每个请求创建不同的线程吗?

我知道我可以通过分叉多个进程来实现它.但那不是线程.我不想要线程化.我想知道它的多线程吗?

php multithreading curl libcurl

6
推荐指数
1
解决办法
2168
查看次数

用curl登录twitter

我正在尝试使用php + curl登录twitter,但我认为我的请求有问题,因为我将此作为响应:

有些东西在技术上是错误的.

感谢您的注意 - 我们将尽快修复并让事情恢复正常.

我正在使用的PHP代码是:

<?php
            $ch = curl_init($sTarget);
            curl_setopt($ch, CURLOPT_HEADER, false);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $sPost);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($ch, CURLOPT_COOKIESESSION, true);
            curl_setopt($ch, CURLOPT_COOKIEJAR, $_CKS);
            curl_setopt($ch, CURLOPT_COOKIEFILE, $_CKS);
            curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
            curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data"));
            curl_setopt($ch, CURLOPT_REFERER, "https://twitter.com");

?>
Run Code Online (Sandbox Code Playgroud)

$ sPost看起来像这样:

会话[username_or_email] =用户会话[口令] =密码&remember_me = 1&scribe_log =&redirect_after_login =&authenticity_token = 6e706165609354bd7a92a99cf94e09140ea86c6f

代码首先获取登录表单字段,以便post变量具有正确的值(auth令牌).我只是尝试了一切,是的,我知道这有一个api但我宁愿找到如何为学习而做手册.

提前致谢.

php twitter curl

6
推荐指数
1
解决办法
4722
查看次数

SPDY/HTTP2是否会连接响应?

我有一个关于SPDY/HTTP2的问题:通常,您将多个CSS和JS文件连接到一个文件中以保存请求并获得更好的性能.我听说SPDY/HTTP2将多个请求合并为一个响应.这是否意味着我不再需要预先连接CSS和JS文件,因为这是由协议处理的?

换句话说:我可以像使用HTTP1 一样使用<script source="moduleA.js"></script><script source="moduleB.js"></script>使用SPDY/<script source="allScripts.js"></script>HTTP2吗?从响应性能的角度来看,这是一样的,但是有利于自己缓存每个文件,以便我可以更改moduleB.js并保持moduleA.js缓存吗?

http spdy http2

6
推荐指数
1
解决办法
869
查看次数

C-ares支持IOS吗?

c-ares支持IOS吗?我需要在IOS上运行的公司应用程序中使用c-ares.但是使用"ares_gethostbyname()"无法正常工作,并且回调函数中的状态代码始终返回11(ARES_ECONNREFUSED).相同的代码在其他opearting系统(如Win32,Android)上正确运行.

浏览源代码,我找到了原因,就是c-ares无法在IOS上获取dns服务器.因为c-ares读取文件/etc/resolv.conf以获取dns服务器信息,但IOS上不存在此文件.

那么,c-ares是否支持IOS?或者IOS获取dns服务器信息的方法是什么?

dns ios c-ares

6
推荐指数
1
解决办法
560
查看次数

QUIC 多路复用与 HTTP/2 有何不同

QUIC 和 HTTP/3 多路复用(通过 UDP)与 HTTP/2(通过 TCP)带来的有何不同?

http spdy quic http3

6
推荐指数
1
解决办法
694
查看次数

标签 统计

curl ×4

http ×3

c-ares ×2

dns ×2

http3 ×2

libcurl ×2

php ×2

spdy ×2

c ×1

c++ ×1

certificate ×1

curlftpfs ×1

ftp ×1

http2 ×1

https ×1

ios ×1

linux ×1

multithreading ×1

node.js ×1

npm ×1

python ×1

quic ×1

ssl ×1

twitter ×1

websocket ×1