Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中发送和接收HTTP POST请求_Python_Http_Http Post_Httplib - Fatal编程技术网

如何在Python中发送和接收HTTP POST请求

如何在Python中发送和接收HTTP POST请求,python,http,http-post,httplib,Python,Http,Http Post,Httplib,我需要一个简单的客户端方法,可以在HTTP POST请求中发送布尔值,以及一个服务器端函数,用于侦听POST内容并将其保存为var 我很难找到有关如何使用httplib的信息 请给我一个简单的例子,使用localhost进行http连接。对于客户端,您可以使用以下python库执行各种请求:。它非常直观,易于使用/安装 对于服务器端,我建议您使用小型web框架,如,或。这些都很容易使用,而且很轻 例如,使用请求发送post变量foo的小型客户端代码如下所示: import requests r

我需要一个简单的客户端方法,可以在HTTP POST请求中发送布尔值,以及一个服务器端函数,用于侦听POST内容并将其保存为var

我很难找到有关如何使用
httplib
的信息


请给我一个简单的例子,使用localhost进行http连接。

对于客户端,您可以使用以下python库执行各种请求:。它非常直观,易于使用/安装

对于服务器端,我建议您使用小型web框架,如,或。这些都很容易使用,而且很轻

例如,使用请求发送post变量
foo
的小型客户端代码如下所示:

import requests
r = requests.post("http://yoururl/post", data={'foo': 'bar'})
# And done.
print(r.text) # displays the result body.
from flask import Flask, request
app = Flask(__name__)
@app.route('/', methods=['POST'])
def result():
    print(request.form['foo']) # should display 'bar'
    return 'Received !' # response to your request.
使用flask接收和使用POST请求的服务器端代码如下所示:

import requests
r = requests.post("http://yoururl/post", data={'foo': 'bar'})
# And done.
print(r.text) # displays the result body.
from flask import Flask, request
app = Flask(__name__)
@app.route('/', methods=['POST'])
def result():
    print(request.form['foo']) # should display 'bar'
    return 'Received !' # response to your request.

这是使用python发送/接收POST请求的最简单、最快捷的方法。

Hey!谢谢你的回答,但我想我还不够清楚我需要做什么。例如,一台计算机运行服务器脚本,另一台计算机运行客户端脚本。客户端需要发送一个真实的var,如果他还活着,这需要是一个http请求,所以我没有一个url,只有一个ip地址。url当然可以是一个ip地址。你唯一需要改变的是不要把你要做的事放在心上。域名只是ip的字面表示,因此在使用网络时工作方式相同。很抱歉问这个愚蠢的问题,但我有点困惑。客户端的r.text、foo和bar代表什么?(不知道是否有变化,但两个脚本都在linux上运行,服务器端在安装了appache的linux上运行)没问题。当使用requests库发送请求时,会将结果作为对象(存储在示例中的变量“r”中)。该对象的属性之一是“text”,包含结果体(例如,响应为html)。Foo和bar只是键/值对的一个随机示例(想象一下,如果你做一个表单,带有用户和密码字段request.form['user']会给你在字段中输入的数据,request.form['password']非常感谢!还有一个问题,当我在我的linux服务器上安装apache时,现在他是一个web服务器,他知道如何接收post/get请求,或者你需要用PHP或类似的东西编写一些东西?