jjzjj

PHP CURL 超时,不管超时是什么

我正在用php编写一个小程序,利用curl登录并从服务下载一些报告。该程序可以正常工作,直到它应该获得报告的这一点,然后该程序一直超时并显示以下消息。有什么想法或建议吗?我原来连接的服务器是一个MSIISServer,然后跳转到这个AkamaiGHost服务器上报告。下面是我正在使用的curlsetoptscurl_setopt($ch,CURLOPT_USERAGENT,$user_agent);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);curl_set

PHP cURL 无法遵循重定向请求

我正在使用cURL打开一个HTTPS页面。我请求的页面发出重定向请求。我已将cURL设置为跟随重定向,但我似乎无法让它请求正确的页面。我在浏览器中跟踪了相同的请求,我看到我的浏览器发出了与cURL发出的请求不同的请求。我该怎么做才能纠正这个问题?正确的URL显示在详细的cURL转储的输出中。它遵循“*向该URL发出另一个请求”这是cURL详细输出的输出片段:GET/???HTTP/1.1User-Agent:Mozilla/5.0(WindowsNT6.1;rv:25.0)Gecko/20100101Firefox/25.0我使用的PHP代码如下:$ch=curl_init();cur

php - 如果 CURLOPT_RETURNTRANSFER 设置为真,则 cURL PHP 无法正常工作

我尝试通过cURLforPHP提取站点的HTML。通常它工作正常,但有一些网站响应为空。例如,如果我对URLalditalk.de执行以下脚本:$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'http://www.alditalk.de/');curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0(Windows;U;WindowsNT5.1;en-US;rv:1.8.1.1)Gecko/20061204Firefox/4");curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,3

php - POST 变量无需等待结束端脚本的执行

我有这种情况...我正在使用CURL将一些变量发布到远程主机。您可以在下面看到我的PHP脚本的样子:本地PHP脚本:$url='http://somesite.com/something.php';data=array('key1'=>'string1','key2'=>'string2','key3'=>'string3');$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);curl_ex

php - 使用 curl put 上传文件 - multipart/form-data

我正在尝试通过curl-put方法上传文档。但是当我调用这个文件时,它只生成0字节文件而不是上传文件。我正在使用第三方的网络服务。这里缺少什么?标题中有什么吗?在文件名中我们需要传递文件名还是路径?PHP代码$data=json_encode($this->data);$file_url=$filepath;$f=array($filepath);$eol="\r\n";$BOUNDARY=md5(time());$BODY="";//initmycurlbody$BODY.='--'.$BOUNDARY.$eol;//startparamheader$BODY.='Content-D

php - 使用 PHP cURL 固定证书

我看到SO中有大量关于错误的帖子:SSLcertificateproblem:unabletogetlocalissuercertificate这就是我得到的。他们所有的回答都只是说从以下位置下载根证书:https://curl.haxx.se/ca/cacert.pem并设置到CURLOPT_CAINFO或设置php.ini的curl.cainfo。但这实际上只是告诉cURL信任根CA列表及其受信任的CA。根据我的理解,证书固定应该忽略所有这些根CA,只信任特定提供商的单个证书。修复此错误的正确方法是什么?$ch=curl_init($url);curl_setopt($ch,CUR

php - 如何全局设置或规避PHP中的CURLOPT_CONNECTTIMEOUT?

有没有办法为所有cURL请求全局设置CURLOPT_CONNECTTIMEOUT?我有一个问题,在升级到PHP7.2之后,一些软件的cURL现在会在10秒连接超时时失败,而之前它们不会。我不能确切地说出是什么改变了这种行为,但我需要以某种方式全局设置a)导致它现在超时的原因,或者b)增加超时限制。任何php.ini设置都会影响这个?编辑:设置default_socket_timeout似乎对此没有影响。编辑:仅供引用,具有更多Wordpress细节的相同问题:https://wordpress.stackexchange.com/questions/330013/curl-28-err

php - 将 CURL 语句转换为 php 脚本时遇到问题

我正在尝试将以下CURL语句转换为PHP脚本,但遇到了问题。curl-s-S-i-v--cert/etc/ssl/certs/TestCertificate.p12:password--cert-typep12--cacert/etc/ssl/certs/TLSRootCA.pem--tlsv1.1--header"Content-Type:application/json"https://example1.com/api/paymentrequests--data'{"payeePaymentReference":"0123456789","callbackUrl":"https:/

php - 尝试通过 curl 发布后从页面中获取数据

我正在尝试从这里获取数据:http://mediaforest.biz/mobile/nowplaying.aspx在页面中,您选择一个电台并发布它,然后您将获得包含数据的新页面。但是我抓不到它,我又得到了同样的页面。我使用了这段代码: 最佳答案 如果您从第一个请求中获取数据,请尝试在之后关闭(针对每个请求)。$content=curl_exec($ch);curl_close($ch);echo$content;和$content_stage2=curl_exec($ch);curl_close($ch);echo$content

php - 使用 CURLOPT_POSTFIELDS 发布文件时文件为空

我正在尝试使用RESTful网络服务上传文件,如下所示:$filename="pathtofile/testfile.txt";$handle=fopen($filename,"r");$filecontents=fread($handle,filesize($filename));fclose($handle);$data=array('name'=>'testfile.txt','file'=>$filecontents);$client=curl_init($url);curl_setopt($client,CURLOPT_POST,true);curl_setopt($clie