我正在尝试更改 HTTPClient 已弃用的代码,但我总是收到 i/o 异常,我不知道我错在哪里。 我不推荐使用的旧代码片段
public JSONObject getJSONFromUrl(String address, String longUrl) {
// Making HTTP request
try {
// DefaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(address);
httpPost.setEntity(new StringEntity("{\"longUrl\":\"" + longUrl + "\"}"));
httpPost.setHeader("Content-Type", "application/json");
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我的新不工作代码片段
try {
HttpURLConnection httpcon = (HttpURLConnection) ((new URL(address).openConnection()));
httpcon.setDoOutput(true);
httpcon.setRequestProperty("Content-Type", "application/json");
httpcon.setRequestMethod("POST");
httpcon.connect();
// byte[] outputBytes = "{'value': 7.5}".getBytes("UTF-8");
is = httpcon.getInputStream();
/* os.write(outputBytes);
os.close();*/
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}