调用java时遇到错误_请问这个代码直接在方法里执行就没问题,为什么调用的时候就出错...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

5108f1985bf32bd568324830b3a8755b.png

3b31c95c19c8a6847432e3717ea750bb.png

ff57a2d886e44544bd9273f8e8b24dae.png

HttpRequestUtil类代码如下:

package util;

import java.io.IOException;

import java.util.Map;

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.SimpleHttpConnectionManager;

public class HttpRequestUtil {

/**

* 模拟post请求工具类

* @param url

* @param params

* @return

*/

public static String postRequest(String url, Map params) {

//构造HttpClient的实例

HttpClient httpClient = new HttpClient();

//创建POST方法的实例

PostMethod postMethod = new PostMethod(url);

//设置请求头信息

postMethod.setRequestHeader("Connection", "close");

//添加参数

for (Map.Entry entry : params.entrySet()) {

postMethod.addParameter(entry.getKey(), entry.getValue());

}

//使用系统提供的默认的恢复策略,设置请求重试处理,用的是默认的重试处理:请求三次

httpClient.getParams().setBooleanParameter("http.protocol.expect-continue", false);

//接收处理结果

String result = null;

try {

//执行Http Post请求

httpClient.executeMethod(postMethod);

//返回处理结果

result = postMethod.getResponseBodyAsString();

} catch (HttpException e) {

// 发生致命的异常,可能是协议不对或者返回的内容有问题

System.out.println("请检查输入的URL!");

e.printStackTrace();

} catch (IOException e) {

// 发生网络异常

System.out.println("发生网络异常!");

e.printStackTrace();

} finally {

//释放链接

postMethod.releaseConnection();

//关闭HttpClient实例

if (httpClient != null) {

((SimpleHttpConnectionManager) httpClient.getHttpConnectionManager()).shutdown();

httpClient = null;

}

}

return result;

}

/**

* HttpClient 模拟GET请求

* 方法说明

* @Discription:扩展说明

* @param url

* @param params

* @return String

*/

public static String getRequest(String url, Map params) {

//构造HttpClient实例

HttpClient client = new HttpClient();

//拼接参数

String paramStr = "";

for (String key : params.keySet()) {

paramStr = paramStr + "&" + key + "=" + params.get(key);

}

paramStr = paramStr.substring(1);

//创建GET方法的实例

GetMethod method = new GetMethod(url + "?" + paramStr);

//接收返回结果

String result = null;

try {

//执行HTTP GET方法请求

client.executeMethod(method);

//返回处理结果

result = method.getResponseBodyAsString();

} catch (HttpException e) {

// 发生致命的异常,可能是协议不对或者返回的内容有问题

System.out.println("请检查输入的URL!");

e.printStackTrace();

} catch (IOException e) {

// 发生网络异常

System.out.println("发生网络异常!");

e.printStackTrace();

} finally {

//释放链接

method.releaseConnection();

//关闭HttpClient实例

if (client != null) {

((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();

client = null;

}

}

return result;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值