作为半路出家的程序员,连调试POST方法都不会。

写完后台之后,还要去写前台,然后两边一起调试,才能发现自己写的POST方法对不对。

今天学了一下,分享给诸位。

一.POSTMAN的安装

调试POST请求,当然是有个专门的工具最好。

搜了下,虽然有在线使用的,但是单机情况下无法调试呀。POSTMAN作为谷歌浏览器的插件,不用上网即可使用。

下载地址:点击这里- -

安装方法:

1.用解压工具解压crx文件之后,把“_metadata"重命名为“metadata”,这跟谷歌浏览器版本有关。

2.谷歌浏览器→更多工具→扩展程序→开发者模式→加载已解压的扩展程序

然后选中解压后的文件夹即可。

使用方法:

谷歌浏览器→更多工具→扩展程序

点击本应用后的“启用”。

之后会弹出新窗口,谷歌浏览器就可以关了。

第一次启用会提示登录或注册,单机情况下我们点下方的“Skip this,go straight to the app”即进入postman页面。

二.POSTMAN的使用

直接看图吧,GET请求要填这四个地方,POST还需要填“body”。

postgrep 更改表名称 修改post数据_postgrep 更改表名称

postgrep 更改表名称 修改post数据_POST_02

点send即可发送。

请按照返回的信息处理BUG,401是权限错误,404是找不到页面等等。

三.Java中使用POST请求的方法

1.需要三个jar包,分别是httpclient-4.5.2.jar、httpcore-4.4.5.jar还有commons-logging-1.2.jar。

下载地址:请点击我= =

需要下载两个zip,解压zip后,jar文件在lib文件夹中。

2.示例代码

package com;

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class httpPOST {

    public static void main(String[] args) throws Exception {

        String url = "http://127.0.0.1:5000/tokens";
        HttpPost request = new HttpPost(url);
        request.addHeader("Content-Type", "application/json");
        String param =  "{\"auth\": {\"tenantName\": \"**\",\"passwordCredentials\": {\"username\": \"****\",\"password\": \"****\"}}}";
        StringEntity se = new StringEntity(param); 
        request.setEntity(se);
        
        CloseableHttpClient httpclient = HttpClients.createDefault();
        CloseableHttpResponse response = httpclient.execute(request);
        String retSrc = EntityUtils.toString(response.getEntity());
        System.out.println(retSrc);
        
    }

}

非常简单易懂对不对......

四.cmd运行调用jar包的java文件的办法。

因为测试机不一定是自己公司的,不能放源码,故传class文件。

1.建立两层目录

或是多层目录,依自己的包名而定。

我的两层目录就是com/httpPOST.class

2.把三个jar包放到com文件夹的同级目录。

3.用cmd进入com同级目录下,输入以下命令即可。

java -cp .;commons-logging-1.2.jar;httpclient-4.5.2.jar;httpcore-4.4.5.jar com.httpPOST

参考文档:

1.《java爬虫:在请求body中增加json数据采集》

2.《DefaultHttpClient is deprecated》

3.《java在cmd下编译和执行引用jar的类》