Python请求 - 无法获得POST表单响应(仅返回表单)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python请求 - 无法获得POST表单响应(仅返回表单)相关的知识,希望对你有一定的参考价值。
我正在尝试使用Python的Requests模块填写POST表单,然后获取输出。许多网站似乎都使用此代码作为示例。但是,它只保留返回表单。我创建了一个简单的POST表单,它似乎也返回了表单本身。这是Python代码:
import requests
url = 'http://127.0.0.1/test.html'
data = { 'name': 'Test','age': '52'}
r = requests.post(url, data=data)
print(r.text)
“测试”HTML表单:
<html>
<head>
<title>Test page</title>
</head>
<body>
<form action='test.php' method='post'>
<input name='name' type='text'>
<br>
<input name='age' type='text'>
<br>
<input name='calculate' type='submit' value='Submit test'>
</form>
</body>
</html>
“测试”PHP表单:
<?php
$name = $_POST['name'];
$age = $_POST['age'];
echo "$name, $age";
?>
我可以确认表单本身没有任何浏览器问题。有谁知道是什么导致了这个问题?
答案
你可以直接发布到php页面。
import requests
url = 'http://127.0.0.1/test.php'
data = { 'name': 'Test','age': '52'}
r = requests.post(url, data=data)
print(r.text)
基于@WeavingBird1917的评论:
import requests
url = 'http://www.mso.anu.edu.au/cgi-bin/ephem.cgi'
data = { 'action': 'display','date': 'today','latitude':'-35:19:12','longitude':'149:00:30','timezone':'+10:00'}
r = requests.post(url, data=data)
print(r.text)
以上是关于Python请求 - 无法获得POST表单响应(仅返回表单)的主要内容,如果未能解决你的问题,请参考以下文章
使用 python urllib2 发送 POST 请求并获得响应
Python Django之GET请求和POST请求及响应处理