2012-08-09 5 views
1

GoDaddy의 Ultimate Hosting 패키지를 사용하고 있습니다. 계정에 고정 IP 및 SSL이 설치되어 있습니다. 이제 정적 IP가 필요한 API를 사용하려고 할 때. 그러나 스크립트는 임의의 IP로부터 요청을 보내고 있습니다. 나에게 길을 제안 해주세요.특정 IP의 API 요청

내 스크립트 내가 SOAP을 사용하고

$soap_exception_occured = false; 

$wsdl_path = 'http://vrapi.sslwireless.com/?wsdl'; 

$response = ''; 

ini_set('soap.wsdl_cache_enabled', '0'); // disabling WSDL cache 

try { 
    $client = new SoapClient($wsdl_path); 
    } 

catch(SoapFault $exception) { 
    $soap_exception_occured = true; 
    $response .= '\nError occoured when connecting to the SMS SOAP Server!'; 
    $response .= '\nSoap Exception: '.$exception; 
    } 

. IP 바인딩으로 도움이 될 수 있습니까?

+0

GoDaddy의 기술 지원에보다 적합한 질문입니다. – Quentin

+0

감사 Quentin, 어쨌든 GoDaddy는 요청을 보내기 위해 고정 IP를 제공하지 않습니다. 하지만 SOAP 요청을 위해 IP를 바인딩 할 수 있다고 들었습니다. 나를 도울 수 있습니까? 나는 [tuto [here] [1]을 찾았습니다. 그게 나를위한 해결책일까요? [1] (http://stackoverflow.com/questions/3444359/is-it-possible-to-specify-the-outgoing-network-interface-to-use-for-a-php-soapcl?rq= 1) – IFightCode

답변

1

이 시도하고 나에게 무슨 일이 생긴 알려 주시기를

$soap_exception_occured = false; 
$ipandport = array(
    'socket' => array(
     'bindto' => 'xx.xx.xx.xx:port', 
    ), 
); 
$setip = stream_context_create(ipandport); 

$wsdl_path = 'http://vrapi.sslwireless.com/?wsdl'; 

$response = ''; 

ini_set('soap.wsdl_cache_enabled', '0'); // disabling WSDL cache 

try { 
    $client = new SoapClient($wsdl_path, array('stream_context' => $setip)); 
    } 

catch(SoapFault $exception) { 
    $soap_exception_occured = true; 
    $response .= '\nError occoured when connecting to the SMS SOAP Server!'; 
    $response .= '\nSoap Exception: '.$exception; 
    } 
2

해당 API에 연결하기 위해 PHP의 컬을 사용하는 가정, 당신은 당신의 IP에 각 요청을 결합해야합니다

curl_setopt($ch, CURLOPT_INTERFACE, $myIP); 

다른 나가는 네트워크 인터페이스 또는 다른 IP 주소, 모든 CURL을 바인딩하려면 그 필요는 CURL 요청을 실행하기 전에 적절한 값으로 CURLOPT_INTERFACE을 설정하는 것입니다 :

+0

감사합니다. Armand, SOAP을 사용하고 있습니다. 언급하지 않았습니다. 이것이 나를 도울 수 있습니까? http://stackoverflow.com/questions/3444359/is-it-possible-to-specify-the-outgoing-network-interface-to-use-for-a-php-soapcl?rq=1 – IFightCode

+0

나는 당신을위한 솔루션이어야합니다! –

+0

저를 위해서 일하지 않았습니다 :(GoDaddy를 떠날 계획입니다.) – IFightCode

0

이 스레드는 file_get_contents 없이는 완료되지 않습니다 :

$opts = array(
    'socket' => array(
     'bindto' => 'xx.xx.xx.xx:0', 
    ) 
); 

$context = stream_context_create($opts); 

echo file_get_contents('http://www.example.com', false, $context);