我有一个有专用IP地址的cPanel主机,
但是,传出IP仍然是主机提供程序的共享IP (应该是这样)。
我需要使用带有专用IP的nusoap进行一些传出电话:
$nusoap = new nusoap_client("https://URL/");
$call = $nusoap->call(...);如何用NuSOAP在这里更改传出IP?
我知道如何使用cURL (curl_setopt($ch, CURLOPT_INTERFACE, $website_ip);)来实现它,但是如何使用这种方法实现相同的功能。几个小时以来,服务器端和php端一直在工作,但仍然无法弄清楚。
发布于 2016-10-06 03:16:28
1)使用PHP的SoapClient而不是NuSoap (从PHP5开始就可以使用它,希望您不会继续使用PHP4,因为它非常不受支持,NuSoap库本身已经3年多没有更新了)。
2)可以将流上下文传递给具有SoapClient选项集的bindto构造函数。
学分:直接从Is it possible to specify the outgoing network interface to use for a PHP SoapClient?取得
$opts = array(
'socket' => array(
'bindto' => '192.168.0.100:0',
),
);
$ctx = stream_context_create($opts);
$client = new SoapClient('the.wsdl', array('stream_context' => $ctx));编辑:如果你必须使用NuSoap,你试过吗
nusoap_client->setCurlOption(CURLOPT_INTERFACE, $website_ip)来文提交人:
function setCurlOption($option, $value) {
$this->debug("setCurlOption option=$option, value=");
$this->appendDebug($this->varDump($value));
$this->curl_options[$option] = $value;
}https://stackoverflow.com/questions/39818264
复制相似问题