Php curl404错误请求
我正在编写一个脚本来检查站点是否关闭,并使用下面的php代码Php curl404错误请求,php,curl,http-status-code-400,Php,Curl,Http Status Code 400,我正在编写一个脚本来检查站点是否关闭,并使用下面的php代码 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user '); curl_setopt($ch, CURLOPT_NOBODY, true); $return_val = curl_exec($ch); $code = curl_get
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user ');
curl_setopt($ch, CURLOPT_NOBODY, true);
$return_val = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE );
var_dump($code);
对于某些站点来说,它可以正常工作,但是像CURLOPT_URL options中提到的一些站点会返回400代码
这个url也不起作用
我尝试了本地主机和远程服务器,但同样的情况也发生了
我也尝试添加,但仍然不起作用
我做错了什么?在调用HTTPs URL时,需要添加此
cURL
param
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
此外,您还需要添加此
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
以及curl_setopt($ch,CURLOPT_NOBODY,true)的注释代码>这将为您提供404
工作守则。。
你要求在一个特定的URL上加一个标题。然后,服务器向您发送404响应,表示页面/资源不存在
这实际上不是客户端问题,服务器说该页面不存在。如果您在没有设置的情况下得到不同的结果(有时是这样),那么实际上您可以责怪服务器没有正确地兼容HTTP,但这不会让任何人更高兴
(其他答案可能涉及诸如和CURLOPT_RETURNTRANSFER之类的细节,但它们在这里当然不相关。)删除空白str_replace(“,'%20',$url”)代码>404错误是由请求的服务器主动发送的,而不是某些传输问题或类似问题。因此,假设您尝试的URL是正确的,那么服务器必须做出一些积极的决定来回答此类错误。例如,这可能是为了防止页面刮取器读取内容。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_NOBODY, true);
$return_val = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE );
var_dump($code);
int 200