请求发布方法

时间:2015-09-19 00:25:39

标签: python python-requests

我试图使用requests模块创建一个简单的post方法,如下所示:

 s=requests.Session() 

 s.post(link,data=payload)

为了正确地执行此操作,有效负载是来自页面本身的id,并且在每次访问页面时生成。

所以我需要从页面获取数据然后继续请求。

访问页面时的问题是将生成新的ID。

所以,如果我们这样做:

 s=requests.Session() 

 payload=get_payload(s.get(link).text)

 s.post(link,data=payload)

这不起作用,因为当您使用s.get加入页面时会生成正确的ID,但是当您转到帖子请求时,会生成一个新的ID,因此您将使用旧的ID之一。

有没有办法在发布请求之前从页面获取数据?

类似的东西:

 s.post(link,data=get_data(s.get(link))

1 个答案:

答案 0 :(得分:1)

当您发布帖子(或获取)请求时,该页面将生成另一个ID并将其发回给您。在生成数据时无法将数据发送到页面,因为您需要首先接收响应以处理页面上的数据,并且一旦收到响应,服务器将在下次为您创建新的ID你查看页面。

有关HTTP请求的简单示例图像,请参阅https://www3.ntu.edu.sg/home/ehchua/programming/webprogramming/images/HTTP.png