【发布时间】:2011-09-27 20:51:40
【问题描述】:
我在一个根据你的 IP 显示不同的网站上玩机械化。
有没有办法在机械化中改变你的ip?
我试过了:
br.set_proxies({"http": '127.0.0.1:80'})
但是那个超时。我还应该做些什么来完成这项工作吗?
【问题讨论】:
-
您需要获取机器(或路由器)的 TCP 堆栈来请求新 IP(假设您使用 DHCP)。这是非常重要的。
我在一个根据你的 IP 显示不同的网站上玩机械化。
有没有办法在机械化中改变你的ip?
我试过了:
br.set_proxies({"http": '127.0.0.1:80'})
但是那个超时。我还应该做些什么来完成这项工作吗?
【问题讨论】:
不,我不相信这是可能的。 IP 地址由您的网络堆栈在传出数据包上设置,不受 mechanize 控制。
【讨论】:
您可以将 tor 与 menchanize 一起使用,它将允许您使用不同的 IP 和匿名。
import socks
import socket
def create_connection(address, timeout=None, source_address=None):
sock = socks.socksocket()
sock.connect(address)
return sock
并且这段代码是在创建mechanize浏览器之前的代码
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket
socket.create_connection = create_connection
【讨论】: