json格式的提交数据需要添加:Content-Type :application/x-www-form-urlencoded,否则会导致请求失败
1. 创建 + 测试: 创建和发送任何的HTTP请求,请求可以保存到历史中再次执行
2. Organize: 使用Postman Collections为更有效的测试及集成工作流管理和组织APIs3. document: 依据你创建的Clollections自动生成API文档,并将其发布成规范的格式4. collarorate: 通过同步连接你的team和你的api,以及权限控制,API库注意:如果在输入参数时,没有自动decode到URL中,则可以选中参数右键后,选择EncodeURIComponent(一般都会自动填充的)
同样也可以decode,将参数生成dictionary的形式(一般都会自动填充的):
有的URL中有path变量,postman可以自动提取该path变量为一个key
mutipart/form-data是网页表单用来传输数据的默认格式。可以模拟填写表单,并且提交表单。
urlencoded
同前面一样,注意,你不能上传文件通过这个编码模式。该模式和表单模式会容易混淆。urlencoded中的key-value会写入URL,form-data模式的key-value不明显写入URL,而是直接提交。raw request可以包含任何东西。所有填写的text都会随着请求发送。
binary
image, audio or video files.text files 。 也不能保存历史,每次选择文件,提交。 本地安装的Postman 优点,比较与谷歌浏览器插件版本1. Cookie 本机应用程序可让您直接使用Cookie。与Chrome应用不同,不需要单独的扩展。2. 内置代理 本机应用程序附带内置代理,可用于捕获网络流量。3. 菜单栏 Chrome应用程序的菜单栏非常有限。使用本地应用程序,您可以创建集合,切换到历史请求等等!4. 受限标题 本地应用程序的最新版本允许您发送headers 如Origin和User-Agent。这些限制在Chrome应用程式中5. Postman控制台 本地应用程序的最新版本还具有内置控制台,可让您查看API调用的网络请求详细信息 1. Sending Requests 发送请求postman界面分为两个区域, 左侧的工具栏和右侧的请求生成器。请求生成器允许您快速创建几乎任何类型的请求HTTP请求的四个部分是URL,方法,标头和主体。
The four parts of an HTTP request are the URL, method, headers, and the body.URL是您为请求设置的第一件事。
URL输入字段存储先前使用的URL,并在开始输入URL时显示自动完成下拉列表。点击URL参数按钮将打开输入URL参数的键值编辑器。(参数按钮params)在URL栏或键/值编辑器中输入的参数不会自动进行URL编码。
右键单击所选文本,然后单击EncodeURIComponent以手动编码参数值。<全选URL地址栏内容,然后右击, 可以进行编码和解码操作>.(参数按钮params)
You can individually(单独) add key/value pairs and Postman will combine everything together.您可以单独添加键/值对,Postman会将所有内容结合在一起。如果您的网址已经具有参数 - 例如,如果您粘贴了其他来源的网址,Postman会将网址自动分割成对。一些API端点使用路径变量。你可以和Postman一起工作。
路径变量在URL中将如下所示。它们是段的一部分(两个斜杠之间)。https://api.library.com/:entity/要编辑它,请单击参数,您将看到已经输入的路径变量作为键。您可以根据终点的需要输入值。例如,:entity在这种具体情况下可以是“用户”或“会员”或“书”======Headers ========Clicking on the headers toggle will show the headers key-value editor .You can set any string as the header name.Common headers part of the HTTP spec are available
in an auto-complete drop down when you begin typing the header name.Values for the “Content-Type” header are also available in an auto-complete drop down.
点击标题切换将显示标题键值编辑器。您可以将任何字符串设置为头名称。
当您开始键入标题名称时,HTTP规范的公共头文件可在自动完成下拉列表中使用。“内容类型”标题的值也可以在自动完成的下拉列表中使用。Restricted headers and cookies
受限的headers和Cookie不幸的是,某些headers受Chrome和XMLHttpRequest规范限制。以下标题被阻止:Accept-CharsetAccept-EncodingAccess-Control-Request-HeadersAccess-Control-Request-MethodConnectionContent-LengthCookieCookie 2Content-Transfer-EncodingDateExpectHostKeep-AliveOriginRefererTETrailerTransfer-EncodingUpgradeUser-AgentVia通过点击Postman中的Interceptor切换或通过Chrome网上应用店来安装Interceptor扩展安装完成后,再次点击该切换, 您现在可以发送使用这些标头的请求。客户端版Postman,没有限制====Cookies========As the packaged app runs in a sandbox separately from the browser, it can not access cookies set inside the browser.This restriction can also be overcome using the Interceptor extension.Postman routes all requests through the Interceptor, which then uses the browser context to send requests.Cookies set inside the browser are automatically attached to your requests.随着打包的应用程序与浏览器分开运行在沙箱中,它无法访问浏览器中设置的Cookie。
这个限制也可以使用Interceptor扩展来克服。Postman通过Interceptor路由所有请求,然后使用浏览器上下文发送请求。浏览器中设置的Cookie会自动附加到您的请求中。拦截器启用后,您也可以从Postman发送cookies。
只需设置“Cookie”标题,并且cookie将随请求一起发送。您还可以访问返回响应时可用的Cookie。=====Header presets==========
在header的右侧 有个presets按钮,点击开有个 manage presets按钮.您可以在标题预设中将常用标题保存在一起。您可以通过单击“添加预设”按钮或从标题下拉列表中选择预设来为您的请求添加标题预置。======Method========Changing the method is straightforward.Just select the method from the select control.The request body editor area will change depending on whether the method can have a body attached to it or not.改变方法很简单。只需从选择控件中选择该方法即可。请求body身体编辑器区域将根据方法是否可以附加身体而改变. 添加其他方法和切换是否可以附加身体的功能将很快添加。The ability to add additional methods and toggling whether a body can be attached to it will be added soon. =====Request body======While constructing requests, you would be dealing with the request body editor a lot.Postman lets you send almost any kind of HTTP request (If you can't send something, let us know!).The body editor is divided into 4 areas and has different controls depending on the body type.1. form-data: 就是http请求中的multipart/form-data
multipart/form-data是Web表单用于传输数据的默认编码。这样可以模拟在网站上填写表单,并提交表单。表单数据编辑器允许您为数据设置键/值对(使用键值编辑器)。您也可以将文件附加到密钥。请注意,由于HTML5规范的限制,文件不会存储在历史记录或集合中。在发送请求时,您必须再次选择该文件。2. urlencoded未编码
x-www-form-urlencoded: 就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对,比如,name=Java&age = 23此编码与URL参数中使用的编码相同。您只需要输入键/值对,Postman会正确地对键和值进行编码。请注意,您无法通过此编码模式上传文件。形式数据和urlencoded之间可能会有一些混淆,所以请务必先检查一下你的API。3. raw 未加工的
原始请求可以包含任何内容。除了替换环境变量,Postman不会触摸在原始编辑器中输入的字符串。无论您放在文本区域中是否发送请求。原始编辑器可让您设置格式化类型以及您应该使用原始主体发送的正确标题。您也可以手动设置Content-Type头。通常,您将在此发送XML或JSON数据。4. binary 二进制
二进制数据允许您发送无法在Postman中输入的内容。例如,图像,音频或视频文件。您也可以发送文本文件。如前面在表单数据部分所述,如果要通过历史记录或集合加载请求,则必须重新连接文件。 2. Understanding and working with responses理解和使用响应Ensuring that the API response is correct is something that you will be doing a lot.The Postman response viewer will make this task much easier for you.The status code with the time taken for the API call is displayed next to the tabs.You can hover over(悬停) the status code to get more details about the code.Mostly it will be the default description as mandated(规定) by the HTTP spec but API authors can also add custom messages.Saving responses
保存响应If a request has been saved in a collection , you can save responses for that request.Once the response has been received, click the “Save response” button.You'll be able to save the response with a name.All responses saved for a request will be available whenever you load the request (above the request URL).Viewing responses
查看回应The Postman body tab gives you several tools to help you make sense of things quickly.The body can be viewed in one of three views - pretty, raw, and preview.1. Pretty 漂亮
The pretty mode formats JSON or XML responses so that they are easier to look at. Nobody wants to scroll through a minified single line JSON response looking for that elusive string! Links inside the pretty mode are highlighted and clicking on them can load a GET request in Postman with the link URL. By clicking on the line numbers on the left you can fold large chunks of the response. For Postman to automatically format the body, make sure the appropriate Content-Type header is returned. If the API does not do this then you can force formatting through JSON or XML. You can enable the “Force JSON” setting as well.Note: You can use Cmd+F / Ctrl+F to open the search bar, and Cmd+G / Ctrl+G to scroll through results.
A complete set of keyboard shortcuts can be found here.通过点击左侧的行号,您可以折叠大块的响应.要使Postman自动格式化身体,请确保返回适当的Content-Type标题2. Raw 原生的
The raw view is just a big text area with the response body. It can help to tell whether your response is minified or not.3. Preview
预览The preview tab renders the response in a sandboxed iframe. Some web frameworks by default return HTML errors and the preview mode is especially helpful there. Due to iframe sandbox restrictions, Javascript and images are disabled in the iframe.You can maximize the body to occupy(使用) the whole Postman window.
In case, you plan on spending a lot of time with the response, this is the way to go.If your API endpoint returns an image, Postman will detect and render it automatically.
For binary response types, you should select “Send and download” which will let you save the response to your hard disk. You can then view it using the appropriate viewer.This gives you the flexibility to test audio files, PDFs, zip files or anything that the API throws at you.4. response返回的Headers
Headers are displayed as key/value pairs in the header tab.Hovering over the header name can give you a description of the header according to the HTTP spec. If you are sending a HEAD request, Postman will show the headers tab by default.5. Cookies
Postman v0.8.x can display browser cookies as it shares the same environment with the browser. For the packaged app, you’ll need to enable the Interceptor. You can then view response cookies in the “Cookies” tab of the response section. Refer to the sandbox documentation for info on how to access cookies in the pre-request/test scriptsPostman 可以显示浏览器Cookie,因为它与浏览器共享相同的环境.
对于chrome浏览器的包类型的应用程序,您需要启用拦截器Interceptor可以在响应部分的“Cookie”选项卡中查看响应Cookie3. Authentication helpers
认证助手(授权)While the request editor is powerful enough to construct any kind of requests, sometimes you might need some help.Postman has something called “helpers” which can simplify(简化) some repetitive(重复的) and complex(复杂) tasks.The current set of helpers let you deal with authentication protocols easily.You can use environment variables with all helpers.目前的助手让您轻松处理身份验证协议。您可以使用所有帮助器的环境变量。You can choose to save helper data to collection requests.
This will cause the signature to be regenerated each time.These helpers will even work in Newman!
===Basic Auth 基本认证
username
passwordUpdate RequestEnter the username and password fields and hit “Update Request” to generate the authorization header.输入用户名和密码字段,并点击“更新请求”生成授权头。===Digest Auth 摘要认证
Digest auth is more complicated than basic auth and uses the values currently set in the request to generate the authorization header.Make sure they are set properly before you generate the header.Postman will remove the existing header if it's already present.Digest auth比基本认证更复杂,
并使用当前在请求中设置的值来生成授权头。在生成标题之前,请确保它们已正确设置。如果已经存在,Postman将删除现有的标题。===OAuth 1.0a (开放授权;身份验证;开放式验证)
Postman's OAuth helper lets you sign requests which support OAuth 1.0a based authentication.Currently it does not let you acquire the access token.That's something you would need from the API provider.The OAuth 1.0 helper can set values in either the header or as query parameters.目前不允许您获取访问令牌。token是.需要API提供商.
As subsequent(并发的;其次的) OAuth requests might expect a different nonce(随机的) value,
Postman can refresh the OAuth signature just before the request is sent if auto add parameters is enabled.随着后续OAuth请求可能会期望不同的随机值,
Postman可以在发送请求之前刷新OAuth签名,如果启用了自动添加参数。OAuth 1.0规范相当复杂,有很多变化。
Postman尽量支持尽可能多的这些变体,但如果某些内容不适合您,请在Github上提出问题。这些是我们包括的几个选项:将空参数添加到签名 - OAuth1.0的一些实现需要将空参数添加到签名中。将参数添加到标题 - 如果启用,params将添加到标题。如果没有 - GET请求的URL参数,以及POST / PUT请求的请求体===OAuth 2.0
Postman支持获取OAuth 2.0(Token)令牌,并将其添加到请求中非常简单。要从OAuth 2.0提供程序获取访问令牌,请按照下列步骤操作:1. 将https://www.getpostman.com/oauth2/callback设置为应用设置页面中的回调URL。2. 从API提供商获取授权URL,访问令牌URL,客户端ID和客户机密码。您还可以设置一些API所需的Scope参数,以设置在API中具有的访问级别3. 按“获取访问令牌”按钮启动OAuth 2.0流程。如果一切都正确设置,您将被重定向到Postman服务器,该服务器将接收您的访问令牌并将其发送到Postman应用程序。要完成向Postman添加令牌,请给它一个名称,以便以后可以快速访问。Access tokens are stored locally and will show up in the helper list.
To add an access token to the request, click the token name.访问令牌存储在本地,并将显示在帮助列表中。要向请求添加访问令牌,请单击令牌名称。4. Requests History 请求历史记录
您使用Postman发送的所有请求均存储在您可以使用左边栏访问的历史记录中。历史让您可以快速尝试各种请求,而不用浪费时间重新形成请求。您可以通过单击请求名称来加载先前的请求。如果您在Postman上创建一个帐户,
您的历史记录将与我们的服务器同步,您将能够检索到跨设备,并始终备份。同样适用于专业用户。5. Using tabs to handle multiple requests
使用选项卡来处理多个请求很多用户可能希望同时保持多个请求的打开。标签功能可以让您做到这一点。您发送的任何请求(及其响应)都位于该选项卡的本地,您可以切换到其他选项卡,而不会丢失第一个响应。当您在Collection侧栏中点击保存的请求时,请求将在您打开的选项卡中打开。
但是,如果在当前选项卡中打开的请求是脏的(标签页中的橙色点),则新的请求将在新选项卡中打开。6. Using interceptor to read and write cookies
使用拦截器读写cookie与原生应用程序不同,Chrome应用程序本身不能处理Cookie。你可以使用拦截器扩展来克服这个。通过拦截器,您可以检索特定域中设置的Cookie,并在发送请求时包含Cookie。<本地安装的Postman不存在需要安装interceptor>1.确保拦截器在Postman中启用 - 检查右上角。2.在测试部分,您可以使用“responseCookies”对象。这将返回一个cookie对象数组。要检索特定的名称,请使用“postman.getResponseCookie(cookieName)”。这将返回一个cookie对象。每个Cookie对象将包含以下属性:domain,hostOnly,httpOnly,name,path,secure,session,storeId,valueSetting Cookies
1.确保拦截器已启用。2.在Headers部分包含“Cookie”头例如。Cookie:name = value; 2 =值23.发送请求。您设置的Cookie将随您的请求一起发送到Chrome。7. Capturing requests (Chrome app)
抓取请求(Chrome应用)Postman Interceptor
Postman Interceptor现在可以直接从Chrome捕获请求并将其保存到Postman的历史记录。这意味着您可以实时调试您的网络应用程序API!没有必要安装或配置代理。还没有任何代码更改。您可以根据正则表达式根据URL过滤请求。如果您有一个网络应用程序没有已经建立的集合,或者您只想调试应用程序正在使用的API,这将是一个巨大的节省时间。在Chrome平台上构建,该功能可以在Windows,Linux,Mac和Chrome操作系统上轻松实现。Here is what you have to do to get this working:
1. 从Chrome网上应用店安装Postman(如果您还没有)!2. 安装Interceptor扩展3. 打开Postman4. 单击工具栏中的“拦截器”图标,然后将切换切换到“开”5. 浏览您的应用程序或您的网站并监视请求流。拦截器通信的唯一实体是Postman,然后将其保存到您的历史记录中。我们有开源的Interceptor,你可以在Github上找到代码。Postman将您所有的数据本地保存在IndexedDB中。8. Capturing requests (Native App) 捕获请求(Native App)
In-app Proxy 应用程式内Proxy
那些熟悉Chrome应用程序代理的用户可能会记住,
只需要设置代理服务器来捕获Postman的请求所需的复杂步骤。Postman本地应用程序大大简化了此过程。没有单独的模块/脚本需要运行 - 代理是内置在应用程序本身!要启动代理服务器,请单击导航栏中的卫星图标。这将打开“代理设置”窗口。有几件事你可以在这里配置:
Port 端口(代理服务器应该听的) - 让我们现在就离开这个5555。
Target 目标(捕获的请求应放在何处) - 您可以选择在历史记录中流式传输,也可以将其保存在集合中。Filters
“过滤器”选项卡具有更多选项,可让您仅配置要捕获的某些HTTP方法或URL模式。你可以探索,如果你喜欢,但默认值应该做的很好。点击“Connect”。您应该会看到一条通知,指示代理服务器处于打开状态。
现在我们需要配置我们的浏览器或系统来通过代理路由请求。Handling redirects 处理重定向
默认情况下,Postman将自动跟踪所有301/302响应中的位置标题。要禁用此行为,您可以将自动跟踪重定向设置设置为否。这样可以防止返回300系列响应的请求被自动重定向。如果您使用Chrome应用,则必须安装Interceptor才能使该功能正常工作。 Sending requests to URLs with self signed SSLs将请求发送到具有自签名SSL的URL自签名证书不由受信任的机构验证。因此,通过Postman访问API端点,可能会导致错误。以下是使用自签名SSL的说明。确保您已经验证了证书所在的IP。这只能用于已验证的IP地址。此方法也适用于localhost的证书。确保生成证书时证书的通用名称是localhost。Ignoring SSL warnings 忽略SSL警告
在本地应用程序中,您可以选择完全忽略SSL证书。如果您的应用程序在使用无效证书的网址(例如使用不同的CNAME)时遇到抱怨),则可能需要执行此操作。1. 转到“设置”窗口,然后转到“常规”选项卡。2. 将SSL certificate verification设置更改为关闭。3. 重新启动应用程序Extracting data from responses and chaining requests
从响应和链接请求中提取数据您可以使用测试脚本从响应和链接请求中提取数据。测试脚本在沙箱内运行,Postman提供postman对象与主要Postman上下文交互。您应该从响应中提取值并将其保存在环境或全局变量中。
环境和全局变量让您跟踪影响API状态的所有内容。您将使用API的常见变量的一些示例是会话令牌和用户标识。Some examples of common variables you would use with an API are session tokens and user IDs.Making SOAP requests
SOAP 简单对象访问协议
简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息要使用Postman进行SOAP请求,
1.将SOAP端点作为URL。如果您正在使用WSDL,则将WSDL的路径作为URL。2.将请求方法设置为POST。3.打开原始编辑器,将主体类型设置为“text / xml”。4.在请求体中,SOAP Envelope,Header和Body标签根据需要。首先给出必要的SOAP信封标签,并定义所有的命名空间。给SOAP头和身体。应在SOAP体中指定SOAP方法(操作)的名称。
Creating cURL commands in Postman
在Postman中创建cURL命令要在Postman中创建一个cURL命令,1. 按照通常的要求,在Postman构建器中创建一个请求.点击代码图标 Generate Code从下拉菜单中选择cURL。There’s your cURL command!Importing cURL commands to Postman
将cURL命令导入PostmanJSON / XML编辑器
Postman使用精彩的Ace Editor来渲染JavaScript,JSON和XML。
这里是所有使用的地方: 1. Pre-request scripts and test scripts预请求脚本和测试脚本2. Raw body input
3. JSON/XML/HTML “Pretty view”
JSON / XML / HTML“漂亮视图”Generating code snippets 生成代码段
一旦您确定并将您的请求保存在Postman中,
您可能希望从您自己的应用程序发出相同的请求。Postman可以让您以各种语言和框架生成代码段,从而帮助您执行此操作。您需要点击蓝色发送按钮下的生成代码链接才能访问此功能。Selecting a language
使用下拉菜单选择语言。语言有多种选择 - 这可以让您选择不同的框架来提供您的请求。Postman的本机应用程序提供了一个Cookie管理器,可让您编辑与每个域相关联的Cookie。
要打开Cookie管理器,请单击“发送”按钮下的“Menerage Cookie”链接。这将打开Cookie管理器窗口。这将向您显示一个域名列表和与之相关的Cookie
Create a cookie
创建一个cookie要添加新的Cookie,请点击域的“添加Cookie”按钮。
将创建一个预先生成的Cookie字符串(根据https://tools.ietf.org/html/rfc6265#section-4.1),但您可以使用下面显示的文本输入进行编辑。点击“保存”将保存到相关域下的应用程序的Cookie存储区。
您还可以通过设置“Cookie”标题来添加cookie,并在主邮箱窗口中将请求发送到适当的URL。Adding a domain如果要为域列表中不存在的域添加cookie,可以通过http://在顶部的输入框中输入主机名(不带端口或)来添加一个cookie 。点击“添加”按钮将其添加到域列表中。然后,您可以通过选择该域添加Cookie,并按上述方式输入新的Cookie值。 更新Cookie要更新现有的Cookie,请从域列表中转到域,然后单击要编辑的cookie。您可以编辑任何属性,然后点击“保存”更新。 Working with client certificates使用客户端证书postman的本机应用程序提供SSL证书管理器,可以让您以每个域为基础来查看/设置客户端证书要打开证书管理器,请单击右上角的扳手图标,选择Settings添加客户端证书
要添加新的客户端证书,请在Add Certificate证书管理器中单击。在该Host字段中,输入要使用该证书的请求URL的域(无协议)。例如:echo.getpostman.com您还可以在该Port字段中指定与该域关联的自定义端口。这是可选的。如果为空,则将使用默认的HTTPS端口(443)。在调用的字段中选择您的客户端证书文件CRT file。目前我们只支持CRT格式。支持其他格式(如PFX)即将推出。在调用的字段中选择客户端证书密钥文件KEY file。如果您在生成客户端证书时使用密码,则需要在该Passphrase字段中提供密码。这是可选的。一旦你完成,点击Add。一旦你的证书被添加,它应该出现在证书管理器列表中。注意:您不应该为同一个域设置多个证书。如果您设置了多个设置,则只会使用最后一个。使用证书
如果添加到客户端证书,则不必执行任何额外的步骤来使用客户端证书Certificate Manager。
如果您向配置的域发出请求,则证书将自动与请求一起发送。(如果您通过HTTPS发出请求)你可以验证这一点。为此,打开您的Postman控制台(Cmd / Ctrl + Alt + C)。
您可以在此处阅读有关控制台的更多信息。应该开一个新窗口。现在,发送请求https://echo.getpostman.com/get,
保持Postman控制台的打开。请注意,我们正在使用它https来确保发送证书。响应到达后,切换到Postman控制台。你应该看到你的请求。如果您扩展您的请求,您应该可以看到哪个证书与请求一起发送。删除证书
要删除证书,可以使用Remove Certificate证书的旁边的按钮Certificate Manager编辑证书
一旦设置,您将无法编辑证书。要更改它,您必须删除以前的证书并添加一个新的证书。