在请求API的时候,有的会有IP频率限制,这时候就需要切换IP进行访问了,以降级单个IP访问的频率
首先我们需要查看有几个网卡
[root@iZj6c4mf2wz9vj3d8pqg0nZ wwwroot]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:16:3e:01:6b:17 brd ff:ff:ff:ff:ff:ff
inet 172.31.162.157/20 brd 172.31.175.255 scope global dynamic noprefixroute eth0
valid_lft 315353769sec preferred_lft 315353769sec
inet6 fe80::216:3eff:fe01:6b17/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:16:3e:06:38:b6 brd ff:ff:ff:ff:ff:ff
inet 172.31.162.161/20 brd 172.31.175.255 scope global dynamic noprefixroute eth1
valid_lft 315353769sec preferred_lft 315353769sec
inet6 fe80::2980:3bca:a3ba:f2e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@iZj6c4mf2wz9vj3d8pqg0nZ wwwroot]#
这里我们看到有三个结果,我们只用看 eth开头的就行了
有
eth0
,eth1
//test.php
<?php
function getHtml($url,$type="eth0")
{
$ip="47.243.48.249";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://weixin.sogou.com/weixin');
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($ch, CURLOPT_TIMEOUT,10);
curl_setopt($ch, CURLOPT_MAXREDIRS,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_HEADER, 1);
//这里指定网卡
curl_setopt($ch, CURLOPT_INTERFACE,$type);
$content=curl_exec($ch);
$code=curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
if ($code=='404'){
return false;
}
return $content;
}
//这里访问的是
var_dump(getHtml("http://httpbin.org/ip","eth0"));
var_dump(getHtml("http://httpbin.org/ip","eth1"));
?>
结果如下:
[root@iZj6c4mf2wz9vj3d8pqg0nZ wwwroot]# php test.php
string(260) "HTTP/1.1 200 OK
Date: Tue, 07 Sep 2021 13:20:10 GMT
Content-Type: application/json
Content-Length: 31
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
{
"origin": "47.75.114.57"
}
"
string(261) "HTTP/1.1 200 OK
Date: Tue, 07 Sep 2021 13:20:10 GMT
Content-Type: application/json
Content-Length: 32
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
{
"origin": "47.243.48.249"
}
"
[root@iZj6c4mf2wz9vj3d8pqg0nZ wwwroot]#
可以看到已经动态切换IP了
博主:Now大牛
QQ : 201309512
发布日期:2021年9月7日21:42:15