gpt4 book ai didi

python - 为什么相同的请求会在两台机器上导致不同的状态代码 200 和 429?

转载 作者:行者123 更新时间:2023-12-04 11:33:23 25 4
gpt4 key购买 nike

这是我的脚本:

import requests, os

ips = ['158.46.169.208','158.46.169.252','158.46.169.76','158.46.171.23','158.46.172.217','158.46.172.55','158.46.172.98','158.46.173.104']
headers = {"User-Agent": "Edg/90.0.818.56"}

os.system("python3 --version") #On Windows it changes to os.system("python --version")

for i in ips:
pr = {'http':"http://"+"abcd-"+i+':xyz@example.io:22225','https':'https://'+"abcd-"+i+':xyz@example.io:22225'}
res1 = requests.get("https://www.google.com/search?q=butter",headers=headers, proxies= pr)
print(requests.get("https://www.httpbin.org/ip",proxies = pr,headers=headers).text)
print(res1.status_code)
Windows 10 上的输出:
Python 3.8.2
{
"origin": "158.46.169.208"
}

200
{
"origin": "158.46.169.252"
}

429
{
"origin": "158.46.169.76"
}

200
{
"origin": "158.46.171.23"
}

200
{
"origin": "158.46.172.217"
}

200
{
"origin": "158.46.172.55"
}

200
{
"origin": "158.46.172.98"
}
Ubuntu 18.04 上的输出:
Python 3.8.0
{
"origin": "158.46.169.208"
}

429
{
"origin": "158.46.169.252"
}

429
{
"origin": "158.46.169.76"
}

429
{
"origin": "158.46.171.23"
}

429
{
"origin": "158.46.172.217"
}

429
{
"origin": "158.46.172.55"
}

429
{
"origin": "158.46.172.98"
}

429
{
"origin": "158.46.173.104"
}

429
无论我运行脚本多少次(即使在两台机器上同时运行),输出始终保持不变。
我无法理解为什么它会阻止 Ubuntu 上的请求。同时,它允许在使用相同代理的同时来自 Windows 机器的相同请求。
我知道 429 错误意味着请求太多,但为什么我在 Windows 机器上运行时它总是成功?
编辑:我有一台双启动笔记本电脑,所以我在我也有 Windows 的笔记本电脑上登录到 Ubuntu 18.04。它似乎在这里工作正常。与 Windows 的行为相同。
但是当我在装有 Ubuntu 18.04 的服务器上运行它时它仍然失败,并且一切都与上面相同。

最佳答案

您需要了解 HTTP 响应 200(HTTP OK)和 429(请求过多)的含义,如 this Wikipedia article 中所述。 .
如您所见,问题似乎不是由于您的程序,而是由于您正在使用的机器,它似乎发出了太多请求(至少服务器是这样理解的)。
总之,您正在处理与网络相关的问题,您可以考虑与您的网络管理员讨论这个问题。

关于python - 为什么相同的请求会在两台机器上导致不同的状态代码 200 和 429?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67581668/

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