使用php curl发布数据时如何为每个请求设置不同的IP地址

raj*_*ary 0 html php curl

我有一个网站,因为(http://rturesults.info)我的网站上有一个表单,我使用 php curl 将表单数据发布到另一个网站(http://esuvidha.info)并从中检索结果。问题是,esuvidha.info 网站有一种特定的编程方式,如果来自该 IP 地址的请求超过 10 个,它会自动阻止该 IP 地址数小时。

每次一些用户从我的网站发布数据时,在提交几次后,php curl 停止工作 bcos esuvidha.info 由于更多请求而阻止了我的 IP 地址。

我可以为通过我的网站发送的每个请求设置不同的 IP 地址吗?

Tha*_*lan 6

您不能更改 IP 地址,但仍然可以更改标题:

$ipAddress = "xxx.xxx.xxx.xxx"; //Custom IP here
curl_setopt($ch, CURLOPT_HTTPHEADER, ["REMOTE_ADDR: $ipAddress", "HTTP_X_FORWARDED_FOR: $ipAddress"]);
Run Code Online (Sandbox Code Playgroud)

这并不总是有效,但如果客户端使用标头来验证您的 IP,这将是一次点击。


还有另一种方法,但我还没有解决,PHP 手册说:

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

所以像:

curl_setopt($ch, CURLOPT_INTERFACE, $ipAddress);
Run Code Online (Sandbox Code Playgroud)

免责声明:顺便说一下,您可以联系网站所有者并获取 API 以访问他们的数据库。你为什么要尝试一些非法的(是的!当他们阻止你时,你正在尝试访问他们的网站是非法的)?