【问题标题】:Specify outgoing port in Curl在 Curl 中指定传出端口
【发布时间】:2018-09-23 13:00:53
【问题描述】:

亲爱的,

我正在尝试从 APACHE 服务器执行 php curl 调用,但我需要指定请求只能从特定端口(出站)发出。

或者至少知道 Apache 使用的传出端口的范围。因为目标服务器位于严格的防火墙后面,只允许一个 IP 和一个特定端口通过。

感谢您的帮助。

【问题讨论】:

标签: php curl networking port firewall


【解决方案1】:

你可以试试这个。 我认为这个选项 CURLOPT_LOCALPORT 是你正在寻找的

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com/");
curl_setopt($ch, CURLOPT_PORT, [destinationport]);

curl_setopt($ch, CURLOPT_LOCALPORT, [sourceport]);

$output = curl_exec($ch);
curl_close($ch);      
print($output);

【讨论】:

  • 请注意,如果您将本地端口限制为单个固定数字,则失败率可能会有点高,因为它很可能已经被使用过。使用一个范围可能会更好......
  • 是的,确实如此,尝试了多个并发请求,只有 1 个到达目的地。有什么方法可以让我知道 Apache 服务器默认使用的所有端口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-27
  • 2019-04-05
  • 2016-05-02
  • 1970-01-01
  • 2021-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多