我的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地址,它们都导致了这个错误。 有谁知道我的麻烦来源是什么?
答案 0 :(得分:1)
如果您有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;
?>
答案 1 :(得分:0)
感谢Kasun的所有输入。最后,我厌倦了这个PECL库(其中定义了http_post_fields),而我使用了cURL。我在这里达到的目标是从1台服务器请求安全票证到另一台服务器。当然,整个模块工作顺利,现在我正在使用cURL。再次感谢。