我试图使用cURL,但似乎默认情况下(Debian)没有使用HTTPS支持编译,我不想自己构建它.
wget
似乎有SSL支持,但我没有找到有关如何使用wget生成OPTIONS HTTP请求的信息.
有谁知道如何解压缩我用curl得到的gzip文件的内容?
例如:http://torcache.com/torrent/63ABC1435AA5CD48DCD866C6F7D5E80766034391.torrent
回应
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 09 Jun 2010 01:11:26 GMT
Content-Type: application/x-bittorrent
Content-Length: 52712
Last-Modified: Tue, 08 Jun 2010 15:09:58 GMT
Connection: keep-alive
Expires: Fri, 09 Jul 2010 01:11:26 GMT
Cache-Control: max-age=2592000
Content-Encoding: gzip
Accept-Ranges: bytes
Run Code Online (Sandbox Code Playgroud)
那么压缩的gzip,
我试过gzdecode但是不起作用,gzeflate也不是他们根本没有得到任何回复,文件的内容不超过2k
在--dump-header写入文件之后,如何将这些头读回到下一个请求中?我想从文件中读取它们,因为它们有很多.
我试过标准: cat headers | curl -v -H - ...
我实际上使用Firebug中的功能来"复制请求标题",然后将它们保存到文件中.这似乎是相同的格式.
我正在评估从HTTP2到HTTP2的性能和获得奇怪的结果我可以从我的网站获得的东西 - 欧洲的网站是从美国加载的:
我从Chrome的网络监视器捕获屏幕截图,看起来像HTTP/2,大多数资源是一个接一个地加载而不是并行加载,就像普通SSL一样.
为了测试,我使用Apache 2.4.17(Win32)所涵盖的Web应用程序作为代理(以应用对SSL和HTTP/2协议的支持).客户端浏览器是Windows 7上的Chrome 46.0.2490.86.
捕获的网络请求如下.简短摘要:1.第一拳 - 是HTML页面2.下一组 - 6个请求 - 直接在HTML中声明的资源3.其余 - 通过脚本动态添加的资源(文档/头部中的'script'和'link/css'标签) .
图片的左侧是HTTP/2,右侧 - 通过普通SSL(http2_module已关闭)的相同工作人员.
更新:我测试了支持HTTP/2作为反向代理的"其他东西".它来自http://nginx-win.ecsds.eu的 nginx 1.9.7.1 Kitty - 原始nginx的分支'for windows'.原始nginx中的HTTP/2仅在商业版中可用,因此我无法尝试.看起来没有其他服务器实现HTTP/2 +反向代理可用于Windows,或者我找不到它们(列表在这里和这里).
我在Kitty中得到的结果更具误导性 - 没有像Apache那样的"顺序加载"资源,但是传输速率比HTTP/2慢两倍于普通SSL.最终结果是 - HTTP/2明显慢于普通SSL.以下是所有这些并排.
在所有这些中,我只能假设性能强烈依赖于实现,并且当前可用的实现执行奇怪,以得出关于HTTP/2的任何一致的结论.
我打算将我的nginx升级到支持HTTP/2的1.9.6.
有nginx实现HTTP/2服务器推送吗?
我一直在使用cURL来验证几个月的登录,并且它一直运行良好.
$searchURL = "https://url.com/isTokenValid?";
$strCookie = 'asdf=' . $_COOKIE['asdf'] . '; path=/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $searchURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_COOKIE, $strCookie );
curl_setopt($ch, CURLOPT_CAPATH, "\cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FAILONERROR, FALSE);
if($answer = curl_exec($ch))
{
if (strpos($answer,'true') !== false)
{
$login = true;
}
else
{
$login = false;
}
Run Code Online (Sandbox Code Playgroud)
今天早上 - 它停止工作,我收到错误:
卷曲错误:SSL证书问题:无法获取本地颁发者证书
我正在使用cacert.pem
来自https://curl.haxx.se/ca/cacert.pem的文件- 如果需要以某种方式更新或刷新此数据,我正在使用此日期的文件,这似乎仍然是最新的:
来自Mozilla的证书数据:2015年10月28日星期三04:12:04
这不是我在网络开发方面的强项,所以我不确定如何解决这里发生的事情.我的第一个想法是它必须是服务器端的东西,因为我周末没有在本地进行任何更改,但我不想开始戳,如果有人能指出我正确的方向.
谢谢!
我想挂载一个FTP驱动器,但我的FTP密码包含"?!".
我输入命令:
curlftpfs myaccount:mypassword?!@thefptserver.com
Run Code Online (Sandbox Code Playgroud)
但它给了我"bash:!@ theftpsever.com:找不到事件"
我如何逃避这些角色?
无法使用pip,win xp x32,python 2.7安装pycurl.
这是日志
pip install pycurl
Downloading/unpacking pycurl
Downloading pycurl-7.19.3.1.tar.gz (116Kb): 116Kb downloaded
Running setup.py egg_info for package pycurl
Please specify --curl-dir=/path/to/built/libcurl
Complete output from command python setup.py egg_info:
Please specify --curl-dir=/path/to/built/libcurl
----------------------------------------
Command python setup.py egg_info failed with error code 10 in C:\Documents and S
ettings\User\build\pycurl
Storing complete log in C:\Documents and Settings\User\Application Data\pip\pi
p.log
Run Code Online (Sandbox Code Playgroud) 我在Ubuntu 12.04上.我刚刚从源代码中将默认CURL从7.22更新到7.28.
wget http://curl.haxx.se/download/curl-7.28.0.tar.gz
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)
但是,libcurl
不会更新.当我尝试
curl --version
curl 7.28.0 (i686-pc-linux-gnu) libcurl/7.22.0
Run Code Online (Sandbox Code Playgroud)
如何更新libcurl
?