【问题标题】:Changing outgoing IP for NuSOAP更改 NuSOAP 的传出 IP
【发布时间】:2017-02-10 14:39:14
【问题描述】:

我有一个带有专用 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 端,但仍然无法弄清楚。

【问题讨论】:

    标签: php curl soap ip nusoap


    【解决方案1】:

    1) 使用 PHP 的 SoapClient 而不是 NuSoap(它从 PHP5 开始可用,希望您不再使用 PHP4,因为它非常不受支持,而且 NuSoap 库本身已经超过 3 年没有更新了)。

    2) 您可以将流上下文传递给具有 bindto 选项集的 SoapClient 构造函数。

    致谢:直接取自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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      相关资源
      最近更新 更多