postman使用简介

部分转载:http://blog.csdn.net/jam_yin/article/details/51837204html

1、GET请求python

1.get请求中“https://api.douban.com/v2/book/search?q=python&fields=3948354,title”,?问号后面均为传入的参数,不一样的参数之间用&进行分隔chrome

2.中间的Status:200 OK表示HTTP状态码,Time:2819ms 表示请求的耗时json

2、POST请求api

1.POST请求的相关参数是存放于Body中,对应的Key有对应的Value值数组

2.Postman根据body type的不一样,提供了4中编辑方式:浏览器

(1)form-data网络

就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既能够上传键值对,也能够上传文件。当上传的字段是文件时,会有content-type来讲明文件类型;content-disposition,用来讲明字段的一些信息;因为有boundary隔离,因此multipart/form-data既能够上传文件,也能够上传键值对,它采用了键值对的方式,因此能够上传多个文件。app

(2)x-www-form-urlencoded编码

就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对

(3)raw

能够上传任意格式的文本,能够上传text、json、xml、html等

(4)binary

至关于content-type:application/octet-stream,从字面意思得知,只能够上传二进制数据,一般用来上传文件,因为没有键值,因此,一次只能上传一个文件。

3.Headers请求头中的Content-Type与请求参数的格式之间是有关联关系的。服务端一般是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。

Content-Type,内容类型,通常是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是常常看到一些Asp网页点击的结果倒是下载到的一个文件或一张图片的缘由。

Content-Type有以下几种常见类型:

(1)application/x-www-form-urlencoded

这应该是最多见的 POST 提交数据的方式了。浏览器的原生 form 表单,若是不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。请求相似于下面这样(无关的请求头在本文中都省略掉了):

POST http://www.example.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3
首先,Content-Type 被指定为 application/x-www-form-urlencoded;其次,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。大部分服务端语言都对这种方式有很好的支持。例如 PHP 中,$_POST['title'] 能够获取到 title 的值,$_POST['sub'] 能够获得 sub 数组。

不少时候,咱们用 Ajax 提交数据时,也是使用这种方式。例如 JQuery 和 QWrap 的 Ajax,Content-Type 默认值都是「application/x-www-form-urlencoded;charset=utf-8」。

(2)multipart/form-data

这又是一个常见的 POST 数据提交的方式。咱们使用表单上传文件时,必须让 form 的 enctyped 等于这个值。直接来看一个请求示例:

POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA

------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="text"

title
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="file"; filename="chrome.png"
Content-Type: image/png

PNG ... content of chrome.png ...
------WebKitFormBoundaryrGKCBY7qhFd3TrwA--
这个例子稍微复杂点。首先生成了一个 boundary 用于分割不一样的字段,为了不与正文内容重复,boundary 很长很复杂。而后 Content-Type 里指明了数据是以 mutipart/form-data 来编码,本次请求的 boundary 是什么内容。消息主体里按照字段个数又分为多个结构相似的部分,每部分都是以 --boundary 开始,紧接着内容描述信息,而后是回车,最后是字段具体内容(文本或二进制)。若是传输的是文件,还要包含文件名和文件类型信息。消息主体最后以 --boundary-- 标示结束。关于 mutipart/form-data 的详细定义,请前往 rfc1867 查看。

这种方式通常用来上传文件,各大服务端语言对它也有着良好的支持。

上面提到的这两种 POST 数据的方式,都是浏览器原生支持的,并且现阶段原生 form 表单也只支持这两种方式。可是随着愈来愈多的 Web 站点,尤为是 WebApp,所有使用 Ajax 进行数据交互以后,咱们彻底能够定义新的数据提交方式,给开发带来更多便利。

(3)application/json

请求示例:

POST http://www.example.com HTTP/1.1
Content-Type: application/json;charset=utf-8

{"title":"test","sub":[1,2,3]}

(4)text/xml

XML-RPC(XML Remote Procedure Call)。它是一种使用 HTTP 做为传输协议,XML 做为编码方式的远程调用规范。典型的 XML-RPC 请求是这样的:

POST http://www.example.com HTTP/1.1
Content-Type: text/xml

<!--?xml version="1.0"?-->
<methodcall>
    <methodname>examples.getStateName</methodname>
    <params>
        <param>
            <value><i4>41</i4></value>
         
    </params>
</methodcall>
XML-RPC 协议简单、功可以用,各类语言的实现都有。

form-data:

raw: