我想知道是否有一种方法可以在使用httpx
或requests
之类的Python模块时验证每个重定向的URL
问题陈述
我正试图连接到公司网络下的API端点。由于公司的网络安全措施,API端点将被公司代理随机屏蔽,这将导致307 Redirect
状态代码。
我的当前代码片段如下所示:
import httpx
api_url = 'https://demo.vizionapi.com/carriers'
head = {
'X-API-Key':'API KEY'
}
response = httpx.get(url=api_url, verify='supporting_files/cacert.pem',
headers=head, auth=('my username', 'my password'),
follow_redirects=True)
使用上面的代码,我收到了401 authentication needed
错误(但auth
已被传递)。只有在由于公司代理而发生重定向时,才会发生此错误。
问题:
我的假设是,身份验证只是传递给第一个URL,而不是重定向URL。因此,我想知道是否有人知道我如何对所有URL(直接和重定向)使用相同的auth
参数?
任何建议都将得到深刻的实践。
发布于 2022-08-09 03:38:55
我不知道在重定向过程中对auth的请求行为是什么,但首先想到的解决方案是手动执行重定向。将您的请求放在一个检查3xx响应代码的循环中,然后任意处理。
https://stackoverflow.com/questions/73286261
复制相似问题