草庐IT

curl_staticlib

全部标签

php - 在句柄关闭之前必须调用 curl_close() 两次,并且可以读取 cookie jar。这是一个错误吗?

几个小时以来,我一直在用头撞墙,试图理解为什么在我尝试读取cURL的cookiejar文件时它是空的。我刚刚发现,如果我调用curl_close()两次而不是一次,我的代码就可以工作,但是,我想知道这是否是cURL的错误。这是一个例子:curl_close($chInfo['handle']);var_dump(is_resource($chInfo['handle']));输出booleantrue。因此,换句话说,句柄没有关闭,尽管我调用了curl_close()。我的下一个想法是,关闭句柄可能需要一些时间,所以我尝试在curl_close()之后使用sleep()几秒钟调用,但没

javascript - 使用 php curl 进行长轮询

我正在关注thisexample用于使用HTTP长轮询的SpringMVC聊天客户端。我的网络服务器位于端口7555,我需要能够从端口80(浏览器)向端口7555发出HTTP长轮询请求,因此我创建了一个调用我的网络服务的PHP脚本。我使用如下参数从我的JavaScript调用此PHP文件:($.ajax({url:"http://localhost/myphpscript.php?index="+i,type:"GET",cache:false,success:function(messages){//dostuff}}));PHP文件位于我的本地主机中。这似乎不起作用,因为JavaS

php - 在 cURL 中使用窃取的 cookie 绕过 CSRF

我必须处理一个网页。本网页基于YII框架,登录页面受CSRFtokens保护。当我通过POST方法传递登录凭据时。我收到error400和TheCSRFtokencouldnotbeverified消息。我不知道如何绕过这种保护。我不明白这个机制。当我通过Chrome浏览器登录时,我看到了POST消息的样子。它有4个参数:CSRFkey、登录名、密码、一个空变量。浏览器如何获取正确的CSRFkey以进行打磨?我有这个网页的登录名和密码,我可以作为普通用户登录。只有登录页面受到CSRF保护。我可以在正常登录时使用浏览器创建的cookie(如何操作),将此cookie提供给cURL并开始处

php - php中SoapClient请求和Soap curl请求的区别

我很困惑Soapcurlrequest我在这里找到了一个例子SOAPrequestinPHPwithCURL和Soap请求使用SoapClientPHPhttp://php.net/manual/en/class.soapclient.php我的问题和疑惑是首先-这些是否都满足相同的目的。其次-如果它们用于相同目的,是否存在任何性能差异。提前致谢 最佳答案 我花了无数时间处理PHP中的SOAP。现在我可以声称我对它了如指掌。:)第一个问题:SoapClient和cURL用于不同的目的。SoapClient是关于SOAP的,cURL是

php - cURL 检查超时

我知道如何在cURL中设置超时,但我想提醒用户请求超时。我创建了一个ajax脚本,允许用户从各种保险站点请求数据并汇总到一个列表中。如果任何保险网站未能在特定时间内做出响应,我想提醒用户目前无法获得该公司的当前报价。cURL是否会返回任何内容以表示超时? 最佳答案 curl_errno()如果操作超时则返回28。参见http://curl.haxx.se/libcurl/c/libcurl-errors.html对于其他错误代码。 关于php-cURL检查超时,我们在StackOverf

PHP Curl 和 setcookie 问题

我有一个curl脚本充当客户端和主服务器之间的代理。……$field_array=array('Accept'=>'HTTP_ACCEPT','Accept-Charset'=>'HTTP_ACCEPT_CHARSET','Accept-Encoding'=>'HTTP_ACCEPT_ENCODING','Accept-Language'=>'HTTP_ACCEPT_LANGUAGE','Connection'=>'HTTP_CONNECTION','Host'=>'HTTP_HOST','Referer'=>'HTTP_REFERER','User-Agent'=>'HTTP_USE

php - 在 PHP 应用程序的 cURL 中强制使用 IPv4

有没有办法强制cURL使用IPv4?我正在寻找一个全局设置,比如php.ini设置或类似的设置。 最佳答案 请使用curl_setopt尝试此代码这将强制进行IPV4解析。if(defined('CURLOPT_IPRESOLVE')&&defined('CURL_IPRESOLVE_V4')){curl_setopt($ch,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);}defined确保全局常量在您的PHP版本上可用。 关于php-在PHP应用程序的cU

php - 将 Curl 客户端 ssl 移动到 Guzzle

我在php5.3和php5.5上使用Guzzlev3.9.2。我有以下使用ssl客户端证书的工作curl代码:$url="https://example.com/";$cert_file='/path/to/certificate.pem';$ch=curl_init();$options=array(CURLOPT_RETURNTRANSFER=>true,CURLOPT_FOLLOWLOCATION=>true,CURLOPT_URL=>$url,CURLOPT_SSLCERT=>$cert_file,);curl_setopt_array($ch,$options);$outpu

php - 无法限制 PHP 的 cURL 函数的下载大小

我正在使用PHP的cURL函数从steampowered.com读取配置文件。检索到的数据是XML,只需要前大约1000个字节。我使用的方法是添加一个Rangeheader,这是我在StackOverflow答案(curl:HowtolimitsizeofGET?)上读到的。我尝试的另一种方法是使用curlopt_range,但这也不起作用。执行此代码时,它会返回全部内容。我使用的是PHP版本5.2.14。 最佳答案 服务器不接受Rangeheader。你能做的最好的事情就是在你收到比你想要的更多的数据时立即取消连接。示例:1000

php - curl 返回 404 错误

我正在使用cuRL从远程服务器获取一些数据...响应采用JSON格式...这是我的代码:$ch=curl_init();curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/4.0(compatible;MSIE5.01;WindowsNT5.0)");curl_setopt($ch,CURLOPT_URL,'http://www.myadd