HTTP POST上传

来源:互联网 发布:西游破坏神进阶数据 编辑:程序博客网 时间:2024/06/05 18:56


POST上传文件要拼接的串


Content-Length(文件的大小)290

Content-Type multipart/form-data; boundary(分隔符)=(可以随便写,但是不能有中文)



\r\n--(可以随便写,但是不能有中文)\r\n

Content-Disposition: form-data; name="userfile(php脚本中用来读取文件的字段)"; filename="demo.json(要保存到服务器的文件名)"\r\n

Content-Type: application/octet-stream(上传文件的类型)\r\n\r\n



要上传的文件的二进制流


\r\n--(可以随便写,但是不能有中文)--\r\n


---------

***HTTP协议中关于POST上传文件的格式,就是这样约定的


回顾流程:

1. Firefox 打开测试上传的页面

2. 上传一个简单的文件

3. fixbug中粘贴了post Source原文件,并且按照格式添加响应的\r\n

4. 就按照对应的格式,开始拼接字符串



响应(服务区返回的)

1状态行

HTTP/1.1(协议版本)200(状态码) OK

2xx成功

4xx 客户端的错误

5xx 服务器端的错误


2、响应头

Date(访问的时间): Tue,20 Jan 201507:40:43 GMT

Server(服务器的类型): Apache/2.4.9 (Unix) PHP/5.5.14

X-Powered-By: PHP/5.5.14

Content-Length(返回内容的长度):34

Content-Type(内容的类型): application/json;charset=utf-8


3、实体数据(二进制)

{"userId":1,"userName":"zhangsan"}



客户端发送的请求

1. 请求行

GET(HTTP方法) /login.php?username=zhangsan&password=zhang(资源路径和参数) HTTP/1.1(协议)

POST /login.php HTTP/1.1


2. 请求头

Host(主机信息):127.0.0.1

User-Agent(浏览器的类型): Mozilla/5.0 (Macintosh; Intel Mac OS X10.10; rv:33.0) Gecko/20100101 Firefox/33.0

Accept(接收的数据类型): text/html,application/xhtml+xml,application/xml;q=0.9,

Accept-Language(语言): en-US,en;q=0.5

Accept-Encoding(压缩格式): gzip, deflate


Content-Length (数据体内容的长度)32

Content-Type(内容类型)


3.请求体

username=zhangsan&password=zhang

0 0
原创粉丝点击