动态切换ipv6地址


如果经常采集数据,您会发现您的ip地址总是被封,这个时候就需要切换ip地址才能采集。那么怎么才能够免费切换ip地址了?

断网重启当然可以切换IP地址,但是比较费时间,简单的办法就是禁用ipv6然后启用ipv6就可以达到切换ipv6地址。

使用管理员的身份运行Windows PowerShell以下命令。

查看ipv6使用情况

Get-NetAdapterBinding -ComponentID ms_tcpip6

运行后可以看到

Name                           DisplayName                                        ComponentID          Enabled
----                           -----------                                        -----------          -------
vEthernet (VMware Net...2      Internet 协议版本 6 (TCP/IPv6)                     ms_tcpip6            True
WLAN                           Internet 协议版本 6 (TCP/IPv6)                     ms_tcpip6            True
VMware Network Adapte...8      Internet 协议版本 6 (TCP/IPv6)                     ms_tcpip6            True
vEthernet (VMware Network )    Internet 协议版本 6 (TCP/IPv6)                     ms_tcpip6            True
VMware Network Adapte...1      Internet 协议版本 6 (TCP/IPv6)                     ms_tcpip6            True             
以太网                         Internet 协议版本 6 (TCP/IPv6)                     ms_tcpip6            True             
vEthernet (以太网)             Internet 协议版本 6 (TCP/IPv6)                     ms_tcpip6            True             
vEthernet (WLAN)               Internet 协议版本 6 (TCP/IPv6)                     ms_tcpip6            True

禁用 WLAN 设备的本地 IPv6 网络

Disable-NetAdapterBinding -Name "WLAN" -ComponentID ms_tcpip6

启用 WLAN 设备的本地 IPv6 网络

Enable-NetAdapterBinding -Name "WLAN" -ComponentID ms_tcpip6

自己查看自己的ipv6地址是否改变了,如果改变了,我们就可以使用PHP执行以上命令来切换ipv6地址。

system('powershell -command "Disable-NetAdapterBinding -Name \"WLAN\" -ComponentID ms_tcpip6"');
system('powershell -command "Enable-NetAdapterBinding -Name \"WLAN\" -ComponentID ms_tcpip6"');

注意事项:上面代码需要以管理员的身份运行cmd,在cmd下执行php代码。