http头请求在服务器上超时

时间:2015-04-28 10:37:10

标签: php http curl http-headers http-request

我正在尝试使用一个名为SMSGateway的sms网关应用程序,使用curl进行http标头请求,如下所示;

$curl_handle=curl_init();
        curl_setopt($curl_handle, CURLOPT_URL,"http://182:70.76.188:9090/sendsms?phone=$phone&text=$message1&password=xxxxxxxx");
        curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 10000);
        curl_setopt($curl_handle, CURLOPT_TIMEOUT,50000);
        curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:36.0) Gecko/20100101 Firefox/36.0');
        $query = curl_exec($curl_handle);
        if($query){echo "Message Sent to $phone !<br>";}else{echo "Message Not Sent to $phone !<br>";echo 'Curl error: ' . curl_error($curl_handle)."<br>";}
        curl_close($curl_handle);

这在我的本地系统上工作得非常好,但是当从服务器执行时它会超时......

我需要知道出了什么问题......这是卷曲问题吗?我应该使用file_get_contents吗?实际上我确实尝试过file_get_contents ......也没有用..

1 个答案:

答案 0 :(得分:0)

我想我得到了一个说

的人的最佳答案

” 好的,当您从远程连接到公共IP时,您正在连接到路由器,您需要做的是将连接从路由器重定向到内部服务器IP,这被定义为网络地址转换(NAT)。

在您的路由器中实际应该有一个接口,您可以在其中定义内部IP和端口,以便从远程进行的请求如下所示:

REMOTE_REQUEST ===> [ROUTER]PUBLIC_IP:PORT ===> [SMS SERVER]INTERNAL_IP:PORT

另一种解决方案是在DMZ中设置SMS服务器并将其直接暴露给互联网:

http://en.wikipedia.org/wiki/DMZ_%28computing%29

检查路由器的文档,如果需要帮助,请告诉我们型号和版本。 “

整个帖子都在https://www.daniweb.com/web-development/php/threads/495303/http-header-request-does-not-connect-from-remote-server