当前位置: 代码迷 >> Android >> ,关于new HttpGet 出现IllegalArgumentException的有关问题
  详细解决方案

,关于new HttpGet 出现IllegalArgumentException的有关问题

热度:14   发布时间:2016-04-28 03:45:25.0
求助,关于new HttpGet 出现IllegalArgumentException的问题
new HttpGet(Url)   出现IllegalArgumentException,前面用的同一个函数,没有问题,参数我也没发现有空字符串,还Trim了!不知道这是由于什么原因产生的   请大神指点!

请求的代码
/**
 * TODO get请求调用接口
 * 
 * @param url
 * @param mTran
 * @param map
 * @param code
 */
public static void doGet(String url, MessageTransfer mTran,
HashMap<String, String> map, int code) {
String getUrl = url + "?";
Iterator<Entry<String, String>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Entry<String, String> entry = iter.next();
getUrl = getUrl + entry.getKey() + "=" + entry.getValue() + "&";
}
getUrl = getUrl.substring(0, getUrl.length() - 1);// 去掉最后一个参数分隔符
getUrl.trim();
Log.i("请求地址:", getUrl);
doGet(getUrl, mTran, code);
}

private static void doGet(final String Url, final MessageTransfer mTran,
final int code) {
mExecutor.execute(new Runnable() {
@Override
public void run() {
HttpClient client = new DefaultHttpClient();
HttpGet hg = new HttpGet(Url);
Message msg = new Message();
try {
HttpResponse response = client.execute(hg);
if (response.getStatusLine().getStatusCode() == 200) {
String result = StringUtil.InputStreamTOString(response
.getEntity().getContent());
Log.i("服务器返回数据:", result);
msg.what = code;
msg.obj = result;
mTran.getHandler().sendMessage(msg);
} else {
mTran.getHandler().sendEmptyMessage(
Act.NET_ERROR.getValue());
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}


2次操作都是调用该函数  第一次正常

第二次异常

------解决思路----------------------
url  地址出错了 
  相关解决方案