页面中的PHP头重定向问题由cURL调用

时间:2010-06-11 05:17:31

标签: php curl

我有一个网站,它使用cURL访问某些页面,将返回的结果存储在变量中,然后在自己的页面中使用这些变量。该脚本运行良好,除非目标cURL页面中有一个标题('Location:...')命令。它似乎只是忽略了这个头命令。

cURL命令如下......

//Load result page into variable so portions can be allocated to correct variables
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); # URL to post to
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); # return into a variable
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
$loaded_result = curl_exec( $ch ); # run!
curl_close($ch);

我尝试将CURLOPT_HEADER更改为1,但它没有做任何事情。

那么如何使用cURL在目标网址中允许脚本重定向来获取结果呢?顺便说一句,如果通过cURL访问以外的页面工作正常,但在这种情况下iFrames不是一个选项。

3 个答案:

答案 0 :(得分:2)

如果您希望cURL遵循重定向,请添加以下内容:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // Follow redirects

答案 1 :(得分:1)

您需要选项CURLOPT_FOLLOWLOCATIONCURLOPT_MAXREDIRS。请参阅manual

答案 2 :(得分:1)

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);