文档章节

JAVA 模拟GET POST请求的2种方式

李-明-亮
 李-明-亮
发布于 2016/11/09 16:46
字数 321
阅读 8
收藏 0
  • 1.使用Apache HttpClient
(1)GET
Long startTime = System.currentTimeMillis();
HttpGet httpGet = new HttpGet("http://auth.edu.tq.cn/check.do?uin=9749533&token=4d369bd3297177e0535ca1817c68546f");
DefaultHttpClient httpClient = new DefaultHttpClient();

try {
    HttpResponse httpResponse = httpClient.execute(httpGet);
    if(httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK){
        System.out.println("TQ校验失败");
    }
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(),HTTP.UTF_8));
    String result = bufferedReader.readLine();
    System.out.println("花费时间为"+(System.currentTimeMillis() - startTime)+"ms");
    System.out.println("返回值为"+result);
    httpClient.getConnectionManager().shutdown();
} catch (IOException e) {
   e.printStackTrace();
}
(2)POST
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://localhost/li/liming");

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("type","HTTPPOST"));
params.add(new BasicNameValuePair("method","POST"));

try {
    httpPost.setEntity(new UrlEncodedFormEntity(params));
    HttpResponse httpResponse = httpClient.execute(httpPost);
    if(httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK){
        System.out.println("TQ校验失败");
    }
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(),HTTP.UTF_8));
    String result = bufferedReader.readLine();
    System.out.println("结果为"+result);
    httpClient.getConnectionManager().shutdown();
} catch (Exception e) {
    e.printStackTrace();
}

返回结果为JSON的话(org.json包下的)

JSONObject jsonObject =new JSONObject(new JSONTokener(new InputStreamReader(httpResponse.getEntity().getContent(), HTTP.UTF_8)));
  • 2.使用Java HttpURLConnection
(1)GET
try {
    String url = "http://localhost:8079/li/li?type=TYPE";
    URL httpUrl = new URL(url);
    HttpURLConnection httpURLConnection = (HttpURLConnection) httpUrl.openConnection();
    httpURLConnection.setRequestMethod("GET");
    if(httpURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK){
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(), HTTP.UTF_8));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = bufferedReader.readLine()) != null) {
            response.append(inputLine);
        }
        bufferedReader.close();
        System.out.println("结果为"+response);
    }
} catch (Exception e) {
    e.printStackTrace();
}
(2)POST
try {
    String url = "http://localhost:8079/li/liming";
    URL httpUrl = new URL(url);
    HttpURLConnection httpURLConnection = (HttpURLConnection) httpUrl.openConnection();
    httpURLConnection.setRequestMethod("POST");

    //写入参数
    String urlParameters = "type=TYPE&method=POST";
    httpURLConnection.setDoOutput(true);
    DataOutputStream dataOutputStream = new DataOutputStream(httpURLConnection.getOutputStream());
    dataOutputStream.writeBytes(urlParameters);
    dataOutputStream.flush();
    dataOutputStream.close();

    if (httpURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(), HTTP.UTF_8));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = bufferedReader.readLine()) != null) {
            response.append(inputLine);
        }
        bufferedReader.close();
        System.out.println("结果为" + response);
    }
} catch (Exception e) {
    e.printStackTrace();
}

© 著作权归作者所有

李-明-亮
粉丝 0
博文 2
码字总数 976
作品 0
大连
私信 提问
Java学习手册:Java网络编程面试问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/MaybeForever/article/details/95471329 1、Java学习手册:Java基础知...

浩比浩比
08/27
0
0
Android Socket 开发

根据之前的经验,应用软件的网络通信无非就是Socket和HTTP,其中Socket又可以用TCP和UDP,HTTP的话就衍生出很多方式,基础的HTTP GET和POST请求,然后就是WebService的SOAP。 在这些方式中,...

鉴客
2011/10/31
37.9K
19
使用Spring MVC开发RESTful API(续)

使用多线程提高REST服务性能 异步处理REST服务,提高服务器吞吐量 使用Runnable异步处理Rest服务 AsyncController.java 使用DeferredResult异步处理Rest服务 应用1/线程1:接收下单请求,放到...

yysue
2018/09/04
449
0
Http组件的介绍

do_Http组件就是实现http/https协议的组件. 首先要说明一下,Do平台只是一个移动端开发的平台,不涉及任何后台服务端的技术,你可以使用你自己任何熟悉的语言和技术来实现服务端,do_Http组件...

voxer
2016/04/26
196
0
网站爬虫及模拟下单(Golang/Java, Kafka, mysql)

最好是golang,如果JAVA经验很足,也可以考虑JAVA 一、整体功能需求:网站爬虫处理及post 简单爬虫及模拟下单(post):A爬虫模块:用Java程序模拟登录指定的若干个类似网站,每几分钟定时抓取...

greatLIU
2017/02/26
78
10

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
5
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部