PHP cURL重定向到位置无法正常工作

时间:2012-06-09 19:47:03

标签: php curl

我正在尝试使用curl将一些值发送到远程URL。但远程站点重定向到另一个导致我麻烦的页面。

例如,我将值从www.mywebsite.com发送到url www.domain.com/index.php,index.php重定向到fetch.php文件,但事情就是这样打开www.mywebsite.com /fetch.php给我404找不到错误,因为这个文件在远程站点而不是我的。我该怎么办?

这是我正在使用的代码

$postfields = "link=xxxxxx";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'domain.com/index.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);

curl_setopt($ch, CURLOPT_COOKIEJAR, 'rap.txt');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1');
$content = curl_exec($ch);
curl_close($ch);

3 个答案:

答案 0 :(得分:0)

您是否尝试设置CURLOPT_FOLLOWLOCATION选项:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

答案 1 :(得分:0)

试试这段代码:

curl_setopt($ch, CURLOPT_URL, 'http://www.domain.com/index.php');

而不是:

curl_setopt($ch, CURLOPT_URL, 'domain.com/index.php');

答案 2 :(得分:0)

我建议您首先复制您想要以用户身份执行的操作。

即。访问URL并查看它是如何工作的,即数据流如何从1个URL传递到下一个等等。然后尝试通过将所需数据发布到正确的URL来复制它。

也可能是第一个URL正在检查引荐来源,以确保页面没有被滥用。