高手帮我看看,HttpClient总是连接不上网站,在线等待~
在网络上看了一些资料,基本都是讲述 HttpClient,通过postMethod()向页面发送参数,实现获取结果的
但是,本人想向站点发送action请求,老是通不过单元测试,
代码如下,我尽量附上注释,请高手帮忙解决:
public class 类{
private static String URL = "/etrading/*******";
/** 以post方式向URL发送 */
private static HttpMethod postMethod(String url, NameValuePair[] param) throws
IOException {
PostMethod post = new PostMethod(url);
post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=gbk");
post.setRequestBody(param);
post.releaseConnection();
return post;
}
public String HttpClient(String methodType) {
// TODO Auto-generated method stub
HttpClient client = new HttpClient ();
HttpMethod method ;
String response = null;
//测试连接本机已开启的网站,
client.getHostConfiguration().setHost("http://127.0.0.1",7001,"http");
NameValuePair[] param ={new NameValuePair("method",methodType)};
try {
// 执行远程调用
method = postMethod(URL, param);
client.executeMethod(method);
// 得到返回结果
response = new String(method.getResponseBodyAsString().getBytes("GBK"));
//释放连接
method.releaseConnection();
} catch (IOException e) {
throw new BOException("连接服务器失败");
}
return response;
}
如上所示,我的问题是这样的:http://127.0.0.1:7001/etrading/PropertyRWServlet?method=read,想向etrading应用发送servlet请求,不知道怎么配置URL和NameValuePair参数,
ps:这个地址直接打到浏览器里,网页正确返回结果。而我代码单元测试老是错误。
期待您的帮忙,万谢!
------解决方案--------------------
从你后面的情况来看,你不是POST方式请求,而是GET方式请求;
也就是不应该用 PostMethod 对象,应该改为 GetMethod 对象。
GetMethod get = new GetMethod("http://127.0.0.1:7001/etrading/PropertyRWServlet?method=read");