来自php的公共IP地址的curl请求

时间:2017-09-26 15:06:52

标签: php curl

我正在提交卷曲请求。但是,当我使用$info = curl_getinfo($ch);时 它向我展示了以下数据:

Array(
[url] => example.com
[content_type] => text/html
[http_code] => 403
[header_size] => 160
[request_size] => 510
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.046355
[namelookup_time] => 0.004173
[connect_time] => 0.024421
[pretransfer_time] => 0.02476
[size_upload] => 303
[size_download] => 1233
[speed_download] => 26599
[speed_upload] => 6536
[download_content_length] => 1233
[upload_content_length] => 303
[starttransfer_time] => 0.046307
[redirect_time] => 0
[redirect_url] => 
[primary_ip] => xx.xx.xx.xx
[certinfo] => Array
    (
    )

[primary_port] => 80
[local_ip] => 100.76.226.11
[local_port] => 39221
)

此处,本地IP地址是内部IP(100.76.226.11),而不是服务器的公共IP。并且服务器拒绝连接,因为它已将列入白名单的公共IP。如何从客户端使用公共IP发送curl请求?

1 个答案:

答案 0 :(得分:0)

您需要设置CURLOPT_INTERFACE选项。

有关详细信息,请参阅PHP manual,这是我从中获取以下代码段的地方。

  

CURLOPT_INTERFACE:要使用的传出网络接口的名称。这可以是接口名称,IP地址或主机名。

curl_setopt($ch, CURLOPT_INTERFACE, "YOUR PRIMARY IP");