HttpClient GET和POST请求
2024-09-01 18:38:31
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¶mer=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();
}
}
最新文章
- WebApi - 路由
- Calendar类
- 懒人邮件群发日发50-100万封不打码不换IP不需发件箱大站协议系统营销软件100%进收件箱
- initial、inherit、unset、revert和all
- Android - 模块添加与编译
- jdbc连接池中c3p0的配置文件的详解以及在在java中如何使用
- unity3d android导出项目编译Multiple dex files define Lcom/unity3d/player/UnityPlayerActivity
- Unicode解码、URL编码/解码
- NuGet管理
- BZOJ 1770: [Usaco2009 Nov]lights 燈 [高斯消元XOR 搜索]
- Otto.de:我为什么选择分布式垂直架构
- ViewBag和ViewDate以及TempDate的区别
- Crawl(1)
- windows 上驱动阻止关机重启操作
- 一张图看懂 JS 原型链
- 【我要学python】MethodType和isinstance和Type函数
- bzoj 2073: [POI2004]PRZ
- socketserver模块、MySQL(数据库、数据表的操作)
- Ubuntu16.04搭建各种开发环境的IDE: QT5 , CodeBlocks ,eclipse-cdt, PyCharm
- POJ3020:Antenna Placement(二分图匹配)
热门文章
- Linux 杀掉所有Java进程
- Python笔记_第四篇_高阶编程_正则表达式_2.正则表达式入门
- Django框架(七):模型(三) 关联、模型类的属性
- 即时函数(Immediate Functions)
- 吴裕雄--天生自然 PHP开发学习:MySQL 插入数据
- UML-迭代1-基础
- py02_02:pyc的解释
- python uiautomator2 新版本2.4.6之watcher的玩法
- Ioc和依赖注入
- Qt QPixmap QImage 图片等比例缩放到指定大小