我有一个网站,它使用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不是一个选项。
答案 0 :(得分:2)
如果您希望cURL遵循重定向,请添加以下内容:
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // Follow redirects
答案 1 :(得分:1)
您需要选项CURLOPT_FOLLOWLOCATION
和CURLOPT_MAXREDIRS
。请参阅manual。
答案 2 :(得分:1)
试
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);