1
eason1874 2021-11-18 19:59:59 +08:00 1
一、在 options 里传入 curl 配置
https://docs.guzzlephp.org/en/stable/faq.html?highlight=curl#how-can-i-add-custom-curl-options CURLOPT_RESOLVE 配置解析,配合 CURLOPT_DNS_USE_GLOBAL_CACHE 和 CURLOPT_DNS_CACHE_TIMEOUT 禁用 DNS 缓存(不然可能不生效) 二、直接把请求 URL 的域名替换成 IP ,同时把域名添加到请求 headers 的 Host |
2
ochatokori 2021-11-18 20:32:04 +08:00 via Android
@eason1874 #1 楼主是服务器有多张网卡,想要服务器通过不同网卡发送请求到目标吧。不是目标有多个 ip 。
|
3
eason1874 2021-11-18 20:34:52 +08:00
@ochatokori #2 原来这样,那我理解错了。我以为是对方有多个节点,节点有 CC 防护。那我说的方法不管用
|
4
starrys 2021-11-18 20:39:39 +08:00
代理服务器监听 0.0.0.0 ,然后通过不同 IP 代理访问?
|
6
kaiki OP 问题解决,用 squid ,配置写
# set out - ip 配置出口 IP acl ip01 myip xxx.xxx.xxx.x01 acl ip02 myip xxx.xxx.xxx.x02 acl ip03 myip xxx.xxx.xxx.x03 …… acl ip0n myip xxx.xxx.xxx.x0n #set out-ip 多公网 IP 关键配置 tcp_outgoing_address xxx.xxx.xxx.x01 ip01 tcp_outgoing_address xxx.xxx.xxx.x02 ip02 tcp_outgoing_address xxx.xxx.xxx.x03 ip03 …… tcp_outgoing_address xxx.xxx.xxx.x0n ip0n xxx.xxx.xxx.xxx 替换成服务器自己的 IP GuzzleHttp\Client 的$config 加上 'proxy' => 'xxx.xxx.xxx.xxx:8888' 的代理就行了,程序每次取一个地址来用,用随机或者固定的算法自己发挥吧。 |