我正在从以下 URL 获取 URL,但出现以下错误
url = "http://qrpromenad.azurewebsites.net/api/question?id=1&imei=35404304";
public JSONObject getJSONFromUrl(String url) {
System.out.println(url);
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent(); // here i got null value
} catch (Exception e) {
e.printStackTrace();
}
以下是logcat错误
04-17 16:00:12.739: W/System.err(4579): java.lang.NullPointerException
04-17 16:00:12.739: W/System.err(4579): at com.qrcodetest.JSONParser.getJSONFromUrl(JSONParser.java:40)
04-17 16:00:12.739: W/System.err(4579): at com.qrcodetest.Result$FetchURL.doInBackground(Result.java:50)
04-17 16:00:12.739: W/System.err(4579): at com.qrcodetest.Result$FetchURL.doInBackground(Result.java:1)
04-17 16:00:12.739: W/System.err(4579): at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-17 16:00:12.739: W/System.err(4579): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
04-17 16:00:12.739: W/System.err(4579): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
04-17 16:00:12.739: W/System.err(4579): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
04-17 16:00:12.739: W/System.err(4579): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
04-17 16:00:12.739: W/System.err(4579): at java.lang.Thread.run(Thread.java:1019)
但如果我使用另一个网址,如http://api.androidhive.info/contacts/它工作正常
我使用了 POST 方法,但仍然返回 NULL
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(Const.POST_URL);
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "1"));
nameValuePairs.add(new BasicNameValuePair("imei", "123456"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
System.out.println("httpEntity "+httpEntity); // here is null
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {// false
is = httpEntity.getContent();
}