HttpClient简单使用(附带小样例)

本文介绍如何使用HttpClient进行HTTP请求,包括发送POST请求及GET请求的方法。示例代码展示了如何通过HttpClient发送请求并接收响应数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HttpClient简单使用(附带小样例)
入门:
1、首先导入3个jar包,httpClient-3.0.1.jar,commons_codec-1.3.jar,commons-logging.jar.

2、客户端程序如下:

import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;

HttpClient hc = new HttpClient();
PostMethod hm = new PostMethod(url);
hm.addParameter(name,value);

int statusCode = -1;
String result = "";
try{
hm.getResponseBodyAsString();
statusCode = hc.executeMethod(hm);

if(hm.getResponseBodyAsString()!=null){
result = hm.getResponseBodyAsString();
}
}catch(HttpException e1){
e1.printStackTrace();
}catch(java.io.IOException e2){
e2.printStackTrace();
}

hm.releaseConnection();

3、服务器端:

post方式接受参数,处理后out.println数据。

---------------------------------------------------

HttpClient获取其他页面数据:

导入包:

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import org.apache.commons.httpclient.*;

import org.apache.commons.httpclient.methods.*;


代码:

HttpClient hc = new HttpClient();

HttpMethod hm = new GetMethod("http://www.sina.com.cn");

hm.addRequestHeader("Content-Type","text/html;charset=utf-8"); //这里设置字符编码,避免乱码


int statusCode = -1;

byte[] result = null;

try{

statusCode = hc.executeMethod(hm);

if(statusCode != HttpStatus.SC_OK){//判断返回

System.out.println("get failure!");

return;

}

if(hm.getResponseBody()!=null){//获取页面数据

result = hm.getResponseBody();//hm.getStatusLine()――http状态和请求结果

}

}catch(HttpException e1){

e1.printStackTrace();

}catch(java.io.IOException e2){

e2.printStackTrace();

}


hm.releaseConnection();


String data = null;

if(result != null){

data = new String(result,"UTF-8");//字符编码设置

System.out.println(data.substring(0,500));//测试输出


int begin = data.indexOf("product");//获取指定页面某个部分的内容

System.out.println(“product:”+begin);


if(begin>-1){//输出1000个字符

System.out.println(Strings.convertHTML(data.substring(begin,begin+1000)));

}

}

//这部分代码写的时候,乱码哪里卡了半天,faint
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值