让我们先发送一个简单的 GET 请求。在新创建的 index.py 文件中,编写以下代码:
import requests
response = requests.get('https://api.ipify.org/?format=json')
print(response.text)
现在使用以下命令运行脚本:
py index.py
你会发现结果是你真实的 IP 地址,而且无论你运行脚本多少次,显示的结果都是一样的。
本指南旨在向您展示如何隐藏真实 IP 地址,以及如何在每次运行脚本时获取不同的 IP 地址。此时,代理就派上用场了。您可以在以下结构中找到它们:
http://proxy_username:proxy_password@proxy_host:proxy_port
协议可以是“http”、“https”、“socks4”或“socks5”,而“proxy_username”和“proxy_password”是可选的。
更新后的代码应如下所示:
import requests
proxy_schema = {
"http": "http://proxy_username:proxy_password@proxy_host:proxy_port",
"https": "https://proxy_username:proxy_password@proxy_host:proxy_port"
}
URL = 'https://api.ipify.org/?format=json'
response = requests.get(URL, proxies=proxy_schema)
print(response.text)
您可以将代理模板替换为免费代理服务提供的真实代理,仅用于测试。但需要说明的是,这些代理并不可靠,仅应用于测试目的。
无论如何,考虑到即便是最好的代理有时也会不稳定,在代码中处理异常是最佳实践:
try:
URL = 'https://api.ipify.org/?format=json'
response = requests.get(URL, proxies=proxy_schema, timeout=30)
print(response.text)
except:
print('Unable to connect to the proxy')
若您成功找到了可用的免费代理,运行代码后会发现结果已发生变化,因为显示的不再是您的真实 IP 地址。