繁体   English   中英

Python中的HTTP POST和302重定向

[英]HTTP POST & 302 redirect in Python

我正在尝试使用Python中的POST方法查询服务器。

import requests

url  = "https://www.test.com/service"
data = {"param": "value"}

req = requests.post(url, data).content

当我查看req ,显然没有考虑我发布的数据。

如果我使用cURL检查标题:

curl -ik -X POST -d "param=value" https://www.test.com/service

我得到以下HTTP 302

HTTP/1.1 302 Déplacé Temporairement
Date: Fri, 06 Oct 2017 16:42:36 GMT
Server: Apache-Coyote/1.1
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Location: https://www.test.com/redirect
Content-Language: fr-FR
Content-Length: 0
Via: 1.1 www.test.com

因此,如果我了解得很好,我将被重定向到https://www.test.com/redirect Location 该地址只能使用GET方法查询; 如果尝试POST ,则会收到HTTP 500错误。

我的理解是这样,我POST荷兰国际集团与参数的要求,我重定向到另一个页面,并要求成为一个GET ,查询Location 我不明白我的参数会发生什么:在浏览器中,我得到一个考虑到发送参数的答案,当我手动查询时,它们似乎“丢失了”,因为我只是得到了一个空版本的https://www.test.com/redirect

我想念什么? 我对请求的理解很浅,因此我确定我缺少明显的东西。

更正语法以使用requests.post 要求

import requests

url  = "https://www.test.com/service"
data = {"param":"value"}

req = requests.post(url, data).content

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM