服务器配置为发送404来自cURL的请求?
-
06-07-2019 - |
题
我正在为客户端做一些自动化,并计划在此过程中通过cURL运行一些PHP脚本。但是,当cURL命中时,在浏览器中正常工作的URL将会出现404。我在其他地方已经看到一些服务器被配置为以这种方式阻止cURL。
这是我可以在 httpd.conf
中编辑的设置吗?似乎不在 php.ini
。
我的代码是这样的:
$url = "http://site.com/xxx/curl.php?cID=$c->cID&db=$c->db&un=$c->un&/";
echo "$url";
// spoofing FireFox 2.0
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1)
Gecko/20061204 Firefox/2.0.0.1";
$ch = curl_init ($url) ;
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
$res = curl_exec ($ch);
当我回显 $ res
时,我从默认的404错误页面获取代码。如果我复制回显的$ url并粘贴到浏览器中,我的页面就可以了。还尝试使用相对路径和完整服务器路径。
今天添加了用户代理欺骗,试图查看说我不是cURL会有所帮助,但响应中没有任何内容发生变化。
关于如何追踪这个或更好的根本原因但是还有什么想法呢?
解决方案
事实证明,The Planet的善良人士对此帐户存在一些内部路由问题。 / etc / sysconfig / network中的主机名设置错误以及/etc/resolv.conf中的错误解析器等等。最近,这个和许多其他站点从其中一个服务器迁移到另一个服务器。尚未修复,但这就是404的原因。
感谢。
不隶属于 StackOverflow