http_post_fields()无法解析主机名

时间:2012-12-13 16:39:09

标签: php http curl pecl

我的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地址,它们都导致了这个错误。 有谁知道我的麻烦来源是什么?

2 个答案:

答案 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。再次感谢。