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请求及响应处理

3.Python Django之GET请求和POST请求及响应处理

nginx+lua怎样实现http请求的响应

iframe发送post请求

当连接是移动数据 xamarin 表单时,无法在服务器上发出 Put 和 Post 请求