我正在使用php curl,我的代码正在为其他网站工作,但当我请求这个网址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错误。
从浏览器发出相同的请求并检查请求标头。确保您在提出请求时使用正确的方法获取,发布或放置。还要检查是否有任何其他标头随请求一起发送,因为某些网址只允许来自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"
));