Ani*_*Das 6 java http httpurlconnection
我正在使用HttpConnect并尝试从服务器获取一些令牌.但每当我尝试获得响应时,它总是说你没有设置或内容长度问题,即使我试图以多种不同的方式设置内容长度
conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestMethod(method);
conn.setRequestProperty("X-DocuSign-Authentication", httpAuthHeader);
conn.setRequestProperty("Accept", "application/json");
if (method.equalsIgnoreCase("POST")) {
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", Integer.toString(body.length()));
conn.setDoOutput(true);
}
status = conn.getResponseCode(); // triggers the request
if (status != 200) { //// 200 = OK
errorParse(conn, status);
return;
}
InputStream is = conn.getInputStream();
Run Code Online (Sandbox Code Playgroud)
Ani*_*Das -1
远离 到HttpConnect对HttpClient我有用。因此,我放弃HttpURLConnection并创建了一个 httpHttpClient对象,并调用执行方法从服务器获取数据。
HttpClient下面是使用http 请求的代码HttpURLConnection
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(authUrl);
String json = "";
JSONObject jsonObject = new JSONObject();
jsonObject.accumulate("phone", "phone");
json = jsonObject.toString();
StringEntity se = new StringEntity(json);
httpPost.setEntity(se);
httpPost.addHeader("Accept", "application/json");
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
HttpResponse httpResponse = httpclient.execute(httpPost);
// 9. receive response as inputStream
inputStream = httpResponse.getEntity().getContent();
String response = getResponseBody(inputStream);
System.out.println(response);
} catch (ClientProtocolException e) {
System.out.println("ClientProtocolException : " + e.getLocalizedMessage());
} catch (IOException e) {
System.out.println("IOException:" + e.getLocalizedMessage());
} catch (Exception e) {
System.out.println("Exception:" + e.getLocalizedMessage());
}
Run Code Online (Sandbox Code Playgroud)