我正在使用php curl,我的代码适用于其他网站,但是当我请求此url时https://i.local.ch/#q?q=manager&origin=&rid=ac8EV&sort=relevance
它返回:
405 不允许恩金克斯
注意:SSl 在我的域中处于活动状态
include "simple_html_dom.php";
$url="https://i.local.ch/#q?q=manager&origin=&rid=ac8EV&sort=relevance";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
$info = curl_getinfo($ch);
print_r( $info );
echo var_dump($server_output);
HTTP 405 错误是在 Web 服务器不允许对请求的 URL 使用 HTTP 方法时导致的。
从浏览器发出相同的请求并检查请求标头。确保您在发出请求时使用正确的方法获取、发布或放置。 还要检查是否随请求一起发送任何其他标头,因为某些 url 只允许来自 ajax 请求,您可以通过在请求中添加适当的标头来实现这一点。
您可以使用以下方法发送其他标头
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"Accept-Charset" => "ISO-8859-1,utf-8;q=0.7,*;q=0.7",
"Keep-Alive" => "115",
"Connection" => "keep-alive",
"X-Requested-With" => "XMLHttpRequest"
));