如何用C++或者python实现接收客户端发送的post请求

Python018

如何用C++或者python实现接收客户端发送的post请求,第1张

一个http请求包括三个部分,分别为请求行,请求报头(请求头),消息主体(请求体),类似以下这样:

HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式。服务端通过是根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析。具体的编码方式包括

1. 以form形式发送post请求

Reqeusts支持以form表单形式发送post请求,只需要将请求的参数构造成一个字典,然后传给requests.post()的data参数即可。

2. 以json形式发送post请求

可以将一json串传给requests.post()的data参数,

3. 以multipart形式发送post请求

Requests也支持以multipart形式发送post请求,只需将一文件传给requests.post()的files参数即可。

输出:

“args”: {}, 

“data”: “”, 

“files”: { 

“file”: “Hello world!” 

}, 

“form”: {}, 

“headers”: {…… 

“Content-Type”: “multipart/form-data boundary=467e443f4c3d403c8559e2ebd009bf4a”, 

…… 

}, 

“json”: null, 

…… 

}

--------------------- 

作者:weixin_40283480 

来源:CSDN 

原文:https://blog.csdn.net/weixin_40283480/article/details/79208413 

版权声明:本文为博主原创文章,转载请附上博文链接!

如果要进行客户端和服务器端之间的消息传递,我们可以使用HTTP协议请求

通过URL网址传递信息,可以直接在URL中写上要传递的信息,也可以由表单进行传递(表单中的信息会自动转化为URL地址中的数据,通过URL地址传递)

备注:已经取得资源,并将资源添加到响应中的消息体

可以向服务器提交数据,是一种比较安全的数据传递方式,比如在登录时,经常使用 POST 请求发送数据

请求服务器存储一个资源,通常需要制定存储的位置

请求服务器删除一个资源

请求获取对应的 HTTP 报头信息

可以获得当前URL所支持的请求类型

状态码:200 OK

表明请求已经成功. 默认情况下成功的请求将会被缓存

不同请求方式对于请求成功的意义如下:

GET:已经取得资源,并将资源添加到响应中的消息体.

HEAD:作为消息体的头部信息

POST:在消息体中描述此次请求的结果

请求成功对于PUT 和 DELETE 来说并不是200 ok 而是 204 所代表的没有资源 (或者 201 所代表的当一个资源首次被创建成功

以下是常见状态码及含义