0

我正面临一个 cURL 请求的非常令人惊讶的行为。该脚本已经运行好几个月了,但是发生了一些事情并且代码不再工作了。

$url = "http://domain.net:443/connexion.php";
$ch = curl_init();
$f = fopen('request.txt', 'w');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PORT , 443);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_STDERR, $f);
$data = curl_exec($ch);

if(!curl_errno($ch)){ 
    $info = curl_getinfo($ch); 
    echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url']; 
} else { 
    echo 'Curl error: ' . curl_error($ch); 
}

curl_close($ch);

这是生成的错误:

  • domain.net:443 的 getaddrinfo(3) 失败
  • 无法解析主机“domain.net”
  • 关闭连接 #0

所以,它看起来像一个简单的 404 错误,但关键是请求的 url 确实存在,并且可以从浏览器中获得……我不知道为什么只有 cURL 无法获得资源。

4

0 回答 0