php curl 请求返回"405 不允许",还有其他抓取方法吗?



我正在使用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"
));

最新更新