草庐IT

curl_error

全部标签

PHP/ curl : inspecting response headers before downloading body

在PHP中使用Curl,有什么方法可以在下载正文之前检查HTTP响应header吗?假设我向某个URI发出GET请求,并且我只想在Content-type为text/html时获取内容。我知道我可以先发出一个HEAD请求,然后再决定是否使用GET,但是是否可以只在一个请求中进行?我基本上是在寻找与以下C#代码等效的代码:HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create("http://some.uri");HttpWebResponseresponse=(HttpWebResponse)request.GetResponse

php cURL 操作在 120308 毫秒后超时,接收到 -1 字节中的 X

我偶尔会在我的抓取脚本中遇到这个错误(见标题)。X是整数字节数>0,网络服务器在响应中发送的实际字节数。我用Charles代理调试了这个问题,这是我所看到的如您所见,响应中没有Content-Length:header,代理仍在等待数据(因此cURL等待2分钟后放弃)cURL错误代码为28。下面是使用该请求的var_export'edcurl_getinfo()的详细curl输出的一些调试信息:*Abouttoconnect()toproxy127.0.0.1port8888(#584)*Trying127.0.0.1...*Addinghandle:conn:0x2f14d58*Ad

php - 多线程 Curl 无法处理大量并发 URL?

我必须同时调用大量API。我正在尝试通过多线程curl来执行此操作,但它似乎无法正确获取所有API结果(出现一些错误;我认为它超时了???)如果我传递了很多URL.一次50个URL似乎是我可以传递的最大值,一次大约100个是我真正开始看到问题的时候。因此,我不得不实现逻辑来分块我在给定时间尝试curl的URL。问题:什么可能导致我的curl问题?我可以在curl中设置一些东西来告诉它等待响应的时间更长-以防我的问题与超时有关吗?我的服务器/php.ini中是否有我可以配置的东西来提高我的脚本的性能?这是脚本:functionmultithreaded_curl(array$urls,$

php - PHP 7 中 Error 和 ErrorException 的区别

在PHP7的文档中,我注意到两个预定义的异常,Error和ErrorException几乎完全相同,ErrorException具有额外的$severity属性和Error仅在PHP7中引入,而ErrorException从PHP5.1开始就存在。据我所知,Error是我应该用来捕获所有内部PHP错误(例如类型错误)的异常,但我不明白的目的是什么ErrorException异常。它们各自的用途是什么,我应该将我的自定义异常基于它们中的任何一个,还是应该坚持使用通常的Exception? 最佳答案 您可以从这个pagewhichdes

php - imagecreatefrompng(和 imagecreatefromstring)导致不可恢复的 fatal error

当我尝试在不正确的png图像上使用php-gd函数时,出现致命的PHP错误。这似乎是某种错误,因为根据函数文档(例如imagecreatefrompng):*@returnresource成功时返回图像资源标识符,错误时返回false。但是当我尝试用我不正确的图像来做时,我有:fatalerror:imagecreatefrompng():gd-png:致命libpng错误:读取错误:/var/www/common/models/Utils.php中第61行的数据被截断导致这个错误的代码很简单:$handle=imagecreatefrompng($fname);此字符串后不执行任何代

php - cURL:从 PHP 到 BASH

我以前从未做过任何curl,所以需要一些帮助。PHP:'file','file'=>'@'.$argv[1],);curl_setopt($ch,CURLOPT_URL,'http://my_site_ex/up.php');curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);curl_exec($ch);curl_close($ch);?>如何在BASH中制作相同的脚本? 最佳答案 我认为是:curl-F"uptype=file"-F"

php - Codeigniter 中的 set_error_handler?

我创建了一些帮助程序来捕获任何PPH错误,然后发送一个curl帖子,这将使用我的错误跟踪软件创建一个票证。但我无法让它与Codeigniter一起工作。这是我的代码:'Error',E_WARNING=>'Warning',E_PARSE=>'ParsingError',E_NOTICE=>'Notice',E_CORE_ERROR=>'CoreError',E_CORE_WARNING=>'CoreWarning',E_COMPILE_ERROR=>'CompileError',E_COMPILE_WARNING=>'CompileWarning',E_USER_ERROR=>'Us

php - curl PHP 文件上传

嘿,尝试使用curl发布文件,一切正常。我有一个问题。我无法在post_file()函数之外声明我的文件。我在我的应用程序中多次调用此函数,因此希望它可以重用。所以这是可行的:functioncall_me(){$file_path="/home/myfile.mov";$url="http://myurl.com";$this->post_file($url,$file_path);}functionpost_file($url,$file_path){$data['Filedata']="@".$file_path;$ch=curl_init();curl_setopt($ch,C

php - 当 curl 尝试解析主机时,如何更改 php curl 超时 (curl err_no 6)

我正在对页面执行curl请求。我已将“CURLOPT_TIMEOUT”(设置为6秒)和“CURLOPT_CONNECTTIMEOUT”(设置为4秒)都设置为-两者都适用于大多数URL。但是,当网页没有响应时(并最终导致CURL通过“无法解析主机”错误(err_no6))-似乎“CURLOPT_TIMEOUT”没有效果并且curl将等待,可能无限期或直到一些“其他”超时到期。对于我尝试访问的URL,CURL似乎总是需要15秒才能返回(这与“CURLOPT_TIMEOUT”或“CURLOPT_CONNECTTIMEOUT”无关。有人能告诉我如何限制CURL花费在尝试解析主机上的时间吗?

php - PHP 输出的有效图像总是 "contain errors",这可能是什么原因造成的?

几个月前,我使用PHP5.3为客户编写了一个网站。它在我自己的LAMP网络服务器上完美运行。但是,当他尝试将它安装到自己的服务器(目前是在CentOS5上运行DirectAdmin的OVH服务器)时,他遇到了一个我无法解决的问题。网站可以存储通过表单上传的图片。图片在上传时带有水印并移动到网络服务器中的目录(一些元数据存储在数据库中,但这与此问题无关)。为了向用户显示这些图像,使用如下脚本:header("Content-type:image/jpeg");ob_start();echofile_get_contents($path);$size=ob_get_length();$im