我的 PHP 脚本使用 http_post_fields() 向另一台服务器发出发布请求。 这是代码示例:
$g = http_post_fields("http://mysite.com", $some_array);
虽然脚本偶尔会运行,但我经常会遇到这个错误:
http_post_fields() [function.http-post-fields]: couldn't resolve host name; name lookup timed out
我现在在函数中尝试了多种http地址,都导致了这个错误。 有谁知道我麻烦的根源是什么?
最佳答案
如果您有 ssh 访问权限,请在 shell ping mysite.com
上尝试此命令,看看是否有任何响应
可以配置防火墙/代理服务器来防止从服务器发送POST请求
试试这个并检查域解析到 IP。
<?php
$ip = gethostbyname('www.example.com');
echo $ip;
?>
HTTPRequest 的示例将回显状态代码
<?php
$r = new HttpRequest('http://www.example.com/', HttpRequest::METH_POST);
$r->addPostFields(array('param1' => 'value'));
try {
$http_req->send();
} catch (HttpException $ex) {
}
$response_code = $http_req->getResponseCode();
echo $response_code;
?>
关于php - http_post_fields() 无法解析主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13864381/