#android #rest #https
#Android #rest #https
Вопрос:
Я хочу вызвать веб-службу HTTPs с устройства Android.которые содержат заголовок для проверки данных на сервере. я не знаю, как вызвать веб-службу https, написанную на Java.Если кто-нибудь объяснит шаги, которые могли бы мне помочь.Спасибо!
Ответ №1:
Пожалуйста, проверьте этот метод:
private static Header[] headers;
private String executeRequest(Httpget request)
throws SocketTimeoutException {
String responce = null;
try {
HttpParams httpParameters = new BasicHttpParams();
// Set the timeout in milliseconds until a connection is
// established.
int timeoutConnection = 120000;
HttpConnectionParams.setConnectionTimeout(httpParameters,
timeoutConnection);
// Set the default socket timeout (SO_TIMEOUT)
// in milliseconds which is the timeout for waiting for data.
int timeoutSocket = 120000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
HttpClient httpclient = new DefaultHttpClient(httpParameters);
HttpResponse httpResponse = httpclient.execute(request);
// Obtain and Set Headers when login
headers = null;
headers = httpResponse.getAllHeaders();
responseCode = httpResponse.getStatusLine().getStatusCode();
responce = EntityUtils.toString(httpResponse.getEntity());
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return responce;
}
Header previousHeader;
// used to add headers manually that we got from the response but now it is
// done automatically
@SuppressWarnings("unused")
private HttpUriRequest addHeaders(HttpUriRequest request) {
for (int i = 0; headers != null amp;amp; i < headers.length; i ) {
request.setHeader(headers[i].getName(), headers[i].getValue());
}
// request.addHeader("Content-Length", "");
return request;
}