我发布了一个带有下划线 (_) 的参数的 url。
样本:http://sdsdsds_asasasahjhd.com/dsdsdsd/login.json?
我是这样发布的:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://sdsdsds_asasasahjhd.com/dsdsdsd/login.json?");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("key1", "value1"));
nameValuePairs.add(new BasicNameValuePair("key2", "value2"));
nameValuePairs
.add(new BasicNameValuePair("key3", "value3"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (Exception e) {
e.printStackTrace();
}
当我检查httpclient.execute(httppost)
时,我正在获取IllegalArgumentException
并捕获异常详细信息Host name cannot be null
。请指定任何解决方案。
我在这里解决了一些其他问题:
但没有用,因为我没有对整个 url 进行编码。