package com.rogue.hclient;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader; import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity; /**
* 测试HttpClient功能
* @author djoker
*
*/
public class HClientTest { HttpClient client = new HttpClient(); //get功能测试
public void getTest(){
String uri = "http://172.16.100.20/cgi-bin/ht.cgi?method=getMethodTest";
GetMethod method = new GetMethod(uri);
try {
int code = client.executeMethod(method);
System.out.println(code);
if(200 == code){ // StringBuffer sb = new StringBuffer();
// sb.append(method.getResponseBodyAsString()); //不推荐使用,会有警告,如果读取的内容过多,会导致超过最大读取值
// System.out.println(sb.toString()); InputStream is = method.getResponseBodyAsStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8"));
String line = null;
while((line = br.readLine()) != null){
System.out.println(line);
}
}
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} //POST测试
public void postTest(){
String uri = "http://172.16.100.20/cgi-bin/ht.cgi";
String content = "method=PostMethod&paramer=paramer"; //参数
PostMethod method = new PostMethod(uri);
RequestEntity requestEntity = new StringRequestEntity(content); //字符串请求参数
method.setRequestEntity(requestEntity); //设置请求参数
try {
int code = client.executeMethod(method);
System.out.println(code);
if(200 == code){
InputStream is = method.getResponseBodyAsStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8"));
String line = null;
while((line = br.readLine()) != null){
System.out.println(line);
}
}
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static void main(String[] args){
HClientTest hct = new HClientTest();
hct.getTest();
System.out.println("--------");
hct.postTest();
}
}

最新文章

  1. WebApi - 路由
  2. Calendar类
  3. 懒人邮件群发日发50-100万封不打码不换IP不需发件箱大站协议系统营销软件100%进收件箱
  4. initial、inherit、unset、revert和all
  5. Android - 模块添加与编译
  6. jdbc连接池中c3p0的配置文件的详解以及在在java中如何使用
  7. unity3d android导出项目编译Multiple dex files define Lcom/unity3d/player/UnityPlayerActivity
  8. Unicode解码、URL编码/解码
  9. NuGet管理
  10. BZOJ 1770: [Usaco2009 Nov]lights 燈 [高斯消元XOR 搜索]
  11. Otto.de:我为什么选择分布式垂直架构
  12. ViewBag和ViewDate以及TempDate的区别
  13. Crawl(1)
  14. windows 上驱动阻止关机重启操作
  15. 一张图看懂 JS 原型链
  16. 【我要学python】MethodType和isinstance和Type函数
  17. bzoj 2073: [POI2004]PRZ
  18. socketserver模块、MySQL(数据库、数据表的操作)
  19. Ubuntu16.04搭建各种开发环境的IDE: QT5 , CodeBlocks ,eclipse-cdt, PyCharm
  20. POJ3020:Antenna Placement(二分图匹配)

热门文章

  1. Linux 杀掉所有Java进程
  2. Python笔记_第四篇_高阶编程_正则表达式_2.正则表达式入门
  3. Django框架(七):模型(三) 关联、模型类的属性
  4. 即时函数(Immediate Functions)
  5. 吴裕雄--天生自然 PHP开发学习:MySQL 插入数据
  6. UML-迭代1-基础
  7. py02_02:pyc的解释
  8. python uiautomator2 新版本2.4.6之watcher的玩法
  9. Ioc和依赖注入
  10. Qt QPixmap QImage 图片等比例缩放到指定大小