Вот фрагмент кода, о котором идет речь:
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
HttpClient mHttpClient = new DefaultHttpClient();
nameValuePairs.add(new BasicNameValuePair(strName1, strValue1));
nameValuePairs.add(new BasicNameValuePair(strName2, strValue2));
post = new HttpPost(strPostURL);
post.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
HttpResponse response = mHttpClient.execute(post);
strPostURL начинается с "https://".
Этот код завершается с ошибкой в последней строке - выдает следующее исключение:
WARN/System.err(7151): org.apache.http.client.ClientProtocolException
WARN/System.err(7151): Caused by: org.apache.http.ProtocolException: The server failed to respond with a valid HTTP response
Я пробовал этот код как на платформе Froyo (2.2), так и на Gingerbread (2.3.3), и он работает только на 2.3.3. Те же результаты на эмуляторах.
Когда я пробовал обычный HTTPPOST на моем тестовом сервере, Froyo и Gingerbread работают нормально, поэтому в HTTPS должно быть что-то особенное, что вызывает эту проблему.
Если имеет значение, я также использую httpmime-4.1.2.jar для обработки несколькихчасть вложений в более поздней части кода, так что этот jar включен в мой путь сборки.
Может кто-нибудь любезно указать, что я делаю не так, пожалуйста?