Php curl请求返回';405不允许';,还有其他刮削方法吗?

Php curl请求返回';405不允许';,还有其他刮削方法吗?,php,curl,web-scraping,http-status-code-405,Php,Curl,Web Scraping,Http Status Code 405,我使用的是php curl,我的代码适用于其他网站,但当我请求此urlhttps://i.local.ch/#q?q=manager&origin=&rid=ac8EV&sort=relevance它返回: 405不允许 nginx 注意:SSl在我的域上处于活动状态 include "simple_html_dom.php"; $url="https://i.local.ch/#q?q=manager&origin=&rid=ac8EV&sort=relevance";

我使用的是php curl,我的代码适用于其他网站,但当我请求此url
https://i.local.ch/#q?q=manager&origin=&rid=ac8EV&sort=relevance
它返回:

405不允许 nginx

注意: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);

当web服务器不允许HTTP方法用于请求的URL时,会导致HTTP 405错误

从浏览器发出相同的请求并检查请求标题。确保在发出请求时使用了正确的方法get、post或put。还要检查是否有任何附加的头随请求一起发送,因为某些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"
));



当web服务器不允许HTTP方法用于请求的URL时,会导致HTTP 405错误

从浏览器发出相同的请求并检查请求标题。确保在发出请求时使用了正确的方法get、post或put。还要检查是否有任何附加的头随请求一起发送,因为某些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"
));



你确定它应该是
POST
而不是
GET
,因为你实际上没有发送任何数据吗?谢谢回复:我有40个URL用于这个网站。那么我需要发送任何数据吗?“我需要发送任何数据吗”-我们无法回答。我们不知道那个网站。我的意思是,如果您不同时传递任何数据(如发布表单或类似内容),那么使用
POST
访问页面并不常见。因此,如果您只想获取页面,通常通过
get
-请求完成。“405-不允许使用方法”表示您无法使用
POST
请求访问该页面。您确定它应该是
POST
而不是
GET
,因为您实际上没有发送任何数据吗?谢谢回复:我有40个URL用于同一个网站。那么我需要发送任何数据吗?“我需要发送任何数据吗”-我们无法回答。我们不知道那个网站。我的意思是,如果您不同时传递任何数据(如发布表单或类似内容),那么使用
POST
访问页面并不常见。因此,如果您只想获取页面,通常通过
get
-请求完成。“405-方法不允许”表示您无法使用
POST
-请求访问该页面。