2015-04-28 4 views
2

Я пытаюсь использовать приложение-шлюз sms для андроида, называемого SMSGateway, с запросом заголовка http с использованием 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 ... не получился слишком ..

+0

Вы кажется, что дает IPAddress, который не доступен на сервере? Он продолжает пытаться подключиться, но не в состоянии достигнуть его. –

+0

Но это работает при запуске из моего местного system – user2444559

+0

Он работает локально, так как ваша локальная система может достигать ur ip-адреса, но сервер не может найти ip, так как это удаленный сервер. –

ответ

0

Я думаю, я получил наилучший ответ от кого-то, кто говорит

" Ok, при подключении к общественному IP с удаленными вы подключение к маршрутизатору, то, что вам нужно сделать, - перенаправить соединение с маршрутизатора на внутренний IP-адрес сервера, это определяется как преобразование сетевых адресов (NAT).

На практике в вашем маршрутизаторе должен быть интерфейс в который вы можете определить внутренним IP и портом, так что запрос, начинающийся с удаленного, действует следующим образом:

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

Другим решением является установка сервера SMS в DMZ и подвергать его непосредственно к Интернету:

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

Смежные вопросы