gpt4 book ai didi

python - 当我使用 Tor 时请求保留我的 IP 地址

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:39 25 4
gpt4 key购买 nike

当我执行 python 请求时,我注意到这是发送到请求的实际 IP 地址,而我已经使用 Tor 设置了一个新地址。这是我的代码:

from torrequest import TorRequest

tr = TorRequest(proxy_port=9050, ctrl_port=9051, password=r"mypassword")
response = tr.get('http://ipecho.net/plain')
proxies = {'http': "socks5://"+response.text+":9050"}

page_response = requests.get('https://www.google.com/search?&q=Apple', timeout=60, verify=False, headers={'User-Agent': random.choice(user_agents)}, proxies=proxies)
soup = BeautifulSoup(page_response.content, 'html.parser')

然而,谷歌意识到这仍然是我的 IP 地址,而不是 Tor 生成的地址。怎么会这样?

最佳答案

当您使用代理时,您如何知道 Google 可以获取您的实际 IP?您使用的代理很可能被 Google 阻止,或者代理在首次连接期间超时。

要了解这些可能的原因,您可以像这样编写代码 ->

from torrequest import TorRequest

tr = TorRequest(proxy_port=9050, ctrl_port=9051, password=r"mypassword")
response = tr.get('http://ipecho.net/plain')
proxies = {'http': "socks5://"+response.text+":9050"}

# Using this check, you will know weather your proxies are working or not.
# if proxy for request and current ip are same than proxy is working
try:
print "The proxy for request is {0}".format(response.text)
proxy_check = requests.get('http://icanhazip.com', timeout=60, proxies=proxies)
print "Proxy is {0}".format(proxy_check)
except requests.exceptions.RequestException as e:
print e

# we should catch request exception to check any exception raise from requests like
# timeout
try:
page_response = requests.get('https://www.google.com/search?&q=Apple', timeout=60, verify=False, headers={'User-Agent': random.choice(user_agents)}, proxies=proxies)
except requests.exceptions.RequestException as e:
print e
soup = BeautifulSoup(page_response.content, 'html.parser')

现在您可以知道您使用哪个 IP 来访问 Google。如果代理是好的,那么谷歌很可能已经阻止了该代理。

关于python - 当我使用 Tor 时请求保留我的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54280888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com