Я пытаюсь отправить запрос HTTP-сообщения в приложении Android.Андроид HTTP Запрос авторизации почты
Это то, что я должен послать:
Это то, что я должен получить:
Итак, в заключение, мне нужно, чтобы получить печенье из ответа и код ответа должно быть 302.
У меня есть Android-код:
private static String makePostRequest() {
HttpClient httpClient = new DefaultHttpClient();
// replace with your url
HttpPost httpPost = new HttpPost("http://g1.botva.ru/login.php");
boolean flag = httpClient.getParams().isParameterTrue(ClientPNames.HANDLE_REDIRECTS);
httpPost.addHeader("Accept", "*/*");
httpPost.addHeader("Accept-Encoding", "gzip, deflate");
//httpPost.addHeader("Content-Length", "83");
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
httpPost.addHeader("User-Agent", "runscope/0.1");
Header [] arr = httpPost.getAllHeaders();
String result123 = "";
//Post Data
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(5);
nameValuePair.add(new BasicNameValuePair("do_cmd", "login"));
nameValuePair.add(new BasicNameValuePair("server", "1"));
nameValuePair.add(new BasicNameValuePair("email", "[email protected]"));
nameValuePair.add(new BasicNameValuePair("password", "avmalyutin1234"));
nameValuePair.add(new BasicNameValuePair("remember", "1"));
//Encoding POST data
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
} catch (UnsupportedEncodingException e) {
// log exception
e.printStackTrace();
}
//making POST request.
try {
HttpResponse response = httpClient.execute(httpPost);
String getCookie = response.getHeaders("Pragma").length + "";
result123 = response.getStatusLine().getStatusCode()+"";
// write response to log
Log.d("Http Post Response:", response.toString());
} catch (ClientProtocolException e) {
// Log exception
e.printStackTrace();
} catch (IOException e) {
// Log exception
e.printStackTrace();
}
return result123;
}
И я получаю код 200. И есть только PHPSESSIONID в Cookies, но других файлов cookie нет.
Эй CodeMonkey, так как вы уже используете [Runscope] (https://www.runscope.com) - вы можете просмотреть [документации вокруг Android] (https: //www.runscope.com/docs/code-examples/android). Множество примеров из нескольких разных библиотек, а также советы о том, как передать запрос через свой собственный URL-адрес захвата, чтобы вы могли проверить вызов API, сделанный вашим клиентом Android, в Инспекторе трафика Runscope. – mansilladev