Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Selenium时如何获取HTTP重定向数据?_Python_Selenium_Selenium Webdriver_Python Requests - Fatal编程技术网

Python 使用Selenium时如何获取HTTP重定向数据?

Python 使用Selenium时如何获取HTTP重定向数据?,python,selenium,selenium-webdriver,python-requests,Python,Selenium,Selenium Webdriver,Python Requests,基本上,我试图在获取SeleniumWebDriver链接时查看http重定向数据 对于python请求,我会这样做: r = requests.get(link, allow_redirects=False) match = re.search(r'some regex', r.headers['Location']) 但现在该站点支持cloudflare保护,因此简单的http请求不再有效。 你知道如何在python上使用selenium查看重定向头吗 另一种选择可能是将selenium

基本上,我试图在获取SeleniumWebDriver链接时查看http重定向数据

对于python请求,我会这样做:

r = requests.get(link, allow_redirects=False)
match = re.search(r'some regex', r.headers['Location'])
但现在该站点支持cloudflare保护,因此简单的http请求不再有效。 你知道如何在python上使用selenium查看重定向头吗

另一种选择可能是将selenium cookie注入到请求中,但这似乎不够健壮

有关重定向的更多详细信息:

- I send GET request to URL_A
--> I receive redirect response to URL_B (< This is the one i want)
- URL_B is another redirect response to URL_C (I do not want that)
-我将GET请求发送到URL\u A
-->我收到对URL_B的重定向响应(<这是我想要的)
-URL_B是对URL_C的另一个重定向响应(我不希望这样)

基本上,我最终得到了URL_C,但我想知道URL_B,所以我必须用selenium以某种方式查看请求头,你能提供更多细节吗?实际重定向url是指向cloudflare站点的?或者它隐藏的。。。我可以建议一些处理浏览器性能日志的复杂方法,在那里你可以直接从ChromeDevTools中提取每个请求。。。但正如我所说的,这太复杂了,需要大量的编码。正如您可能知道的,cloudflare在页面加载之前增加了5s的等待。使用selenium,您只需等待它重定向您,就可以轻松绕过此问题。在cloudlfare保护之前,我可以发送一个http请求和请求,并在头中查看重定向位置。现在,当我发送请求时,它根本没有位置,因为它只获取Cloudflare加载页面。所以我只想使用selenium为我提取重定向位置,而不是python请求。但当然,当我使用selenium时,它只是在最终重定向位置结束,这不是我想要接收的302重定向url,加载页面必须加载并验证没有访问权限,并将您重定向到sso页面,以便您可以授权(使用sso时就是这种情况),如果它只是重定向到另一个页面(静态)在这种情况下,它将是相同的url?添加更多详细信息扫描您提供更多详细信息?实际重定向url是指向cloudflare站点的?或者它隐藏的。。。我可以建议一些处理浏览器性能日志的复杂方法,在那里你可以直接从ChromeDevTools中提取每个请求。。。但正如我所说的,这太复杂了,需要大量的编码。正如您可能知道的,cloudflare在页面加载之前增加了5s的等待。使用selenium,您只需等待它重定向您,就可以轻松绕过此问题。在cloudlfare保护之前,我可以发送一个http请求和请求,并在头中查看重定向位置。现在,当我发送请求时,它根本没有位置,因为它只获取Cloudflare加载页面。所以我只想使用selenium为我提取重定向位置,而不是python请求。但当然,当我使用selenium时,它只是在最终重定向位置结束,这不是我想要接收的302重定向url,加载页面必须加载并验证没有访问权限,并将您重定向到sso页面,以便您可以授权(使用sso时就是这种情况),如果它只是重定向到另一个页面(静态)在这种情况下,它将是相同的url?添加了更多详细信息