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 地址出错了