helpful-curl-examples
全部标签 如何指定多部分/表单数据请求的特定部分的内容类型?图像的内容类型作为application/octet-stream发送,但服务器期望它是image/jpeg。这会导致服务器拒绝我的请求。$data["file"]="@/image.jpg";$data["title"]="Thetitle";$data["description"]="Thedescription";//makethePOSTrequest$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$url);curl_setopt($curl,CURLOPT_VERBOSE,1)
如果我执行设置为遵循重定向并返回header的cURL请求,它会返回所有重定向的header。我只想返回最后一个header(和内容主体)。我该如何实现? 最佳答案 另一种方式:$url='http://google.com';$opts=array(CURLOPT_RETURNTRANSFER=>true,CURLOPT_FOLLOWLOCATION=>true,CURLOPT_HEADER=>true);$ch=curl_init($url);curl_setopt_array($ch,$opts);$response=curl
这可能看起来有点奇怪..但我需要评估/解析使用PHP通过HTTP发送的block。值得注意的是,HTTP流可能永远不会结束。有什么方法可以用CURL在我得到它们时解析block?或者我是否必须求助于一些自制的fsockopen()解决方案? 最佳答案 查看选项CURLOPT_WRITEFUNCTION。您可以定义一个回调,当响应中有新数据时将调用该回调。参见themanual. 关于php-CURL与fsockopen分块,我们在StackOverflow上找到一个类似的问题:
我在使用PHPcURL发布数组时遇到问题。我已经使用POST变量成功地将其他值发布到同一页面。但是这个很难弄清楚。唯一的问题是我应该如何将数据呈现给服务器。我使用表单分析器检查了原始表单。表单分析器显示POST变量是这样发送的:arrayfundDistribution'=>array204891=>'20'(length=2)354290=>'20'(length=2)776401=>'20'(length=2)834788=>'40'(length=2)这些值仅用于显示示例。但它们的长度相同。我的问题是,当我像这样发送值时,响应服务器无法识别这些值:Array([104786]=>
我一直在尝试使用cURL尝试将POST数据传递到页面支付网关页面...我无法模拟提交表单操作...我想将客户端转发到支付网关页面(连同POST数据)但我找不到执行此操作的方法...我确实设法传递了POST数据,但生成的页面在我的域中加载(而不是将用户转发到支付网关)。$connection=curl_init("https://paymentgateway.com/script");curl_setopt($connection,CURLOPT_RETURNTRANSFER,0);curl_setopt($connection,CURLOPT_FOLLOWLOCATION,1);cur
我想用curl下载一个远程文件并立即输出给用户。用户应该认为他是从我的服务器而不是远程服务器下载文件的。我无法缓冲整个文件,因为有些文件大于200MB。此外,用户必须等待缓冲完成才能开始下载文件。我找到了一个直接从远程服务器下载文件的脚本:curl也可以实现这种直接远程下载吗? 最佳答案 您需要分块读取和输出文件,因为整个200MB的文件可能无法放入您的PHP脚本的内存中。参见thisquestion了解如何在curl中执行此操作。themanual中有一个实例.从中窃取和修改,像这样的东西应该可以工作(未经测试):curl_han
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。我有一个基于PHPCurl的函数,用于应用程序中的各种请求。该函数通常用于在同一台机器(本地主机)上的其他服务器上通信/触发请求。函数如下:-/***@descIfacurl_multihandleispassed,anewcurl*instanceisaddedtothehandleandthecurlidisreturnedasstring.*@paramstring$theServer*@
我使用以下PHP脚本获取给定页面上的所有链接,但我试图获取整个网站上的所有链接。';}}$url='http://www.justfundraising.com/';urlLooper($url);?>有什么方法可以使用cURL(或者坦率地说是任何其他方法)来获取网站上的所有链接?如果您想知道,我可以访问服务器。我的想法是从主页生成所有链接,然后通过相同的函数将这些链接传回以获得忽略任何重复项的新链接列表。我想这样我会得到所有页面。任何帮助将不胜感激! 最佳答案 正如@mario上面提到的,也许可以考虑使用phpQuery(http
我一直在尝试使用cURL和PHP将登录凭据发布到https站点,但没有成功。对于不安全的站点,一切正常,但我无法使用https获取它。我知道我发布的标题详细信息是正确的(尽管我为了这个例子模拟了它们)。请帮忙。 最佳答案 导出证书。将其上传到您的脚本可以看到的位置。然后添加:curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);curl_setopt($ch,CURLOPT_CAINFO,getcwd()."/pa
几乎所有PHP中的TELNET实现示例都使用套接字(fsockopen)。这对我不起作用,因为它需要NotAcceptable时间(约60秒)。我已经尝试将fsockopen用于其他目的,发现它比cURL慢。问题#1:为什么套接字这么慢?更新:我发现我们需要设置stream_set_timeout函数,我们可以控制套接字执行时间。我很好奇如何设置适当的超时或如何在收到响应后使其“停止等待”。我无法使用cURL实现相同的功能。我应该将需要发送到telnet的命令放在哪里?CURLOPT_CUSTOMREQUEST是正确的选择吗?我正在做这样的事情:classTELNETcURL{publ