0

我正在尝试使用 curl 将一些值发送到远程 URL。但是远程站点重定向到另一个页面,这给我带来了麻烦。

例如,我将值从 www.mywebsite.com 发送到 url www.domain.com/index.php,index.php 重定向到 fetch.php 文件,但问题是它像 www.mywebsite.com/fetch 一样打开。 php 这给了我 404 not found 错误,因为此文件位于远程站点上,而不是我的。我怎样才能解决这个问题

这是我正在使用的代码

$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);
4

3 回答 3

0

您是否尝试设置CURLOPT_FOLLOWLOCATION 选项:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
于 2012-06-09T19:51:43.813 回答
0

试试这个代码:

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

代替:

curl_setopt($ch, CURLOPT_URL, 'domain.com/index.php');
于 2012-06-09T19:59:22.230 回答
0

我建议首先复制您作为用户要执行的操作。

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

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

于 2012-06-09T19:59:31.577 回答