【发布时间】:2018-11-30 19:07:56
【问题描述】:
我正在从一个域 (mac2cash.com) 上的 php 脚本到另一个域 (thebookyard.com) 进行 cURL 调用,它们都托管在同一个 Apache 服务器和同一个 IP 地址上。这一直工作正常,但我需要向站点添加一些新功能,并且我刚刚在与正在工作的 cURL 调用相同的目标域的根级别创建了一个新的 php 脚本,但是当我调用这个新脚本时使用我在工作脚本上使用的相同代码,这将返回消息“找到:文档已移至此处”。
有效和失败的 cURL 调用的目标脚本位于同一域的根级别。我已经检查过它们具有相同的 unix 权限。但是,如果我只是将工作脚本中的 php 文件名更改为失败调用中的目标脚本的名称,那么现在这也会失败,并显示相同的 302 重定向消息。 我什至将目标域上的“工作”目标脚本(byasd_api.php)复制到一个新文件(byasd_api_copy.php),如果我从正在工作的调用脚本对它进行cURL调用,我会收到302消息,即使代码完全一样! 我看不出这两个文件之间有什么区别。是否存在某种缓存,而新创建的文件没有被同等对待?
供参考,这里是调用代码:
$header=array("Host:thebookyard.com");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, HTTP_SERVER_IP."/byasd_api.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.mac2cash.com');
curl_setopt($ch, CURLOPT_POST,3);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);
$output = curl_exec($ch);
curl_close($ch);
“byasd_api.php”脚本名称是我唯一要更改的内容。
我花了几个小时在谷歌上搜索解决方案,所以如果有任何建议,我将不胜感激。
【问题讨论】:
标签: php curl http-status-code-302