用与python请求脚本的响应相同的数据打开一个网页

时间:2018-11-07 11:30:01

标签: python python-2.7 python-requests

import requests

session = requests.Session()
session.headers.update({'Some headers'})
session.headers.update({'Some headers'})
session.headers.update({'Some headers'})
session.headers.update({'Some headers'})
session.headers.update({'Some headers'})

session.get('SomeWebsite').url

从此脚本中,我得到一个URL。

仅输入url无效,因为它没有与响应中相同的标题。

例如,如果我使用标准CF-RAY转到www.example.com,我将被重定向到网站www.example.com/No

如果使用从响应中获得的CF-RAY转到www.example.com,我将被重定向到www.example.com/是

基本上正在寻找这样的东西

session.get('SomeWebsite').OpenUrlInMyBrowser

非常感谢! 斯蒂芬

1 个答案:

答案 0 :(得分:0)

不确定这是否有帮助,我仍然无法完全理解您的问题。

您可以显示您使用的响应的标题:

session.get('SomeWebsite').headers

,并将它们包括在新请求中。您可以用毯子做到这一点:

response = session.get("http://www.example.com")
session2 = requests.Session()
session2.headers.update(response.headers)

但这没有多大意义,因为为请求和响应定义的标头不相同。因此,您必须手动选择所需的属性。

如果不确定所需的属性,this会告诉您如何显示请求中的所有信息。

这是您在浏览器中打开URL的方式

import webbrowser
webbrowser.open_new("http://www.example.com")