sslcurl 学习下载点这里
关于php在使用curl打开https情况下,经常出现502错误,那一般是curl函数要设置一些 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
上面的代码供参考。
sslcurl 学习下载点这里
关于php在使用curl打开https情况下,经常出现502错误,那一般是curl函数要设置一些 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
上面的代码供参考。
最近碰到一些QQ互联登录的问题,可能是php的curl在https 情况下出现 segment falt 造成,终极原因需要修复php curl ssl,
造成的原因可能是libsqlite
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Charset: UTF-8,*;q=0.5', 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11', 'Accept-Encoding: gzip,deflate,sdch', 'Accept-Language: zh-CN,zh;q=0.8', 'Connection: keep-alive', 'Content-Type:application/x-www-form-urlencoded; charset=UTF-8', 'Referer: http://somewww.com', 'X-Requested-With: XMLHttpRequest', ));
参考自 http://blog.csdn.net/fableboy/article/details/18973483
使用数组提供post数据时,CURL组件大概是为了兼容@filename这种上传文件的写法,默认把content_type设为了multipart/form-data。虽然对于大多数web服务器并没有影响,但是还是有少部分服务器不兼容。
本文得出的结论是,在没有需要上传文件的情况下,尽量对post提交的数据进行http_build_query,然后发送出去,能实现更好的兼容性,更小的请求数据包。
http://www.ninjasys.co.uk/linux/using-curl-to-check-if-a-page-is-gzippedcompressed/
方法如下
curl -I -H 'Accept-Encoding: gzip,deflate' -H "Host:域名" http://ip/url
如果结果是
HTTP/1.1 200 OK
Server: nginx/0.8.52
Date: Tue, 05 Jul 2011 01:28:30 GMT
Content-Type: application/x-javascript
Last-Modified: Tue, 10 Aug 2010 00:33:24 GMT
Connection: keep-alive
Vary: Accept-Encoding
Expires: Thu, 04 Aug 2011 01:28:30 GMT
Cache-Control: max-age=2592000
Content-Encoding: gzip 很好支持
如果没有 Content-Encoding: gzip 就不支持gzip