python - python请求:发布后查看重定向页面的文本
问题描述
我正在尝试使用请求从表单帖子中查询网站以获取响应信息,但是在提交表单时手动使用网站(填写表单并单击提交按钮)时,我得到的 html 内容与我在response.text
对象中得到的不同使用请求发布到网站时。
手动发布表单时,网站会重定向回表单页面,并在表单下方显示新文本(一些新文本<h#>
和<ul>
对象)。但是,使用requests.post
,我的 response.text
对象只是给了我页面的内容,就好像我在做 一样requests.get
,向我建议手动使用站点时的重定向与我从请求中获得的重定向不同。
知道如何让我response.text
与手动使用该网站看到的内容相匹配吗?或者也许响应对象甚至不是我应该用来获取该文本的对象?我的想法可能是网站手动重定向到与 POST 相同的表单页面,请求强制重定向为 GET,我需要以某种方式覆盖此功能?
这是我正在使用的代码:
import requests
get_resp = requests.get(url="https://example-site.com")
# It's a Django site so I need to get the csrftoken
csrf_token = get_resp.cookies['csrftoken']
post_resp = requests.post(
url="https://example-site.com",
data={"key1": "value1",
"key2": "value2"},
headers={"X-CSRFToken": csrf_token},
)
print(post_resp.text)
感谢您的帮助!
解决方案
推荐阅读
- vba - vba中的面向对象编程和卷影复制问题
- r - 无法在 R 中安装 Plotly
- reactjs - 如果单条数据发生变化,React 会重新渲染组件吗?
- here-api - 在 HERE MAP REST API 中获取 VEHICLE_TYPES 描述
- sql-server - 为什么当我更新未包含在索引中的视图值时,视图上的聚集索引会更新并重新排序?
- javascript - 将 onchange 脚本内联到外部 JS
- machine-learning - 您如何使用 sklearn 模型对新观察结果进行预测?
- three.js - 如何理解 ThreeJS 中 BufferGeometry 中的 setIndex 和 index?
- django - django 中的related_name 和related_query_name 是什么?
- javascript - 如何通过 ajax 更改 xhtml2pdf 的查询集