1

我正在使用 GoDaddy 的 Ultimate Hosting 包。该帐户安装了静态 IP 和 SSL。现在,当我尝试使用需要静态 IP 的 API 时。但是脚本正在从随机 IP 发送请求。请给我一个方法。

我的脚本

$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;
    } 

我正在使用 SOAP。IP绑定可以帮助我吗?在此先感谢。

4

3 回答 3

3

假设您使用 curl 的 php 连接到该 API,您应该将每个请求绑定到您的 IP:

curl_setopt($ch, CURLOPT_INTERFACE, $myIP);

要将 CURL 绑定到不同的传出网络接口或不同的 IP 地址,只需在执行 CURL 请求之前将 CURLOPT_INTERFACE 设置为适当的值:

于 2012-08-09T12:26:17.530 回答
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;
    }
于 2012-08-09T12:53:39.840 回答
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);
于 2014-05-02T18:28:23.110 回答