python - 带有代理的python请求不能遵循重定向
问题描述
s = requests.Session()
r_token = s.get('https://www.netflix.com/Login',
allow_redirects=False,
proxies=proxies,
headers={'User-Agent': UserAgent().random},
)
我使用代理向 netflix 发出了 python 请求,但结果不能,但如果不使用代理,他可以按照重定向 url
解决方案
您需要设置allow_redirects=True
, 以遵循重定向:
import logging, requests
logging.basicConfig(level=logging.DEBUG)
#proxies = {'https': '144.217.161.149:8080'}
proxies={}
ua = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.35 Safari/537.36'
s = requests.Session()
r = s.get('https://www.netflix.com/Login',
allow_redirects=True,
proxies=proxies,
headers={'User-Agent': ua},
)
print (r.status_code, r.reason)
印刷:
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): www.netflix.com:443
DEBUG:urllib3.connectionpool:https://www.netflix.com:443 "GET /Login HTTP/1.1" 302 0
DEBUG:urllib3.connectionpool:https://www.netflix.com:443 "GET /de-en/Login HTTP/1.1" 200 None
(200, 'OK')
当您使用代理时,应该会发生相同的行为。
Netflix 阻止/限制通过代理/vpn 的访问。
推荐阅读
- javascript - 如何在 PHP Laravel 中使用 SQL 语句打印所有数组?
- php - 致命错误:无法重新声明 format_currency()(之前在
- node.js - 在 CI / CD 管道中运行 cypress 测试的最佳实践是什么?
- laravel - 如何将所有 laravel 异常消息写入特定文件。如模型异常
- swiftui - 使用 Swift UI 将 CLLocationManager 的代表放在哪里?
- botframework - BotComposer,如何使用 lg 语言遍历字符串的字符?
- machine-learning - 计算kmeans模型的准确度得分
- react-native - 如何在 android studio 上运行 expo 弹出的应用程序
- python - 使用python在表格中显示csv数据
- c++ - 在 C++ 中声明 const 对象需要用户定义的默认构造函数。如果我有一个可变成员变量,为什么不呢?