У меня есть сервер, обслуживающий порт 9443. Он использует сертификат ssl, подписанный godaddy для «example.com». Я пытаюсь подключиться к URL, как:Получение 400 плохих запросов при использовании SSL на порту, отличном от 443?
https://example.com:9443/api/v1/foo
и отлично работает с ИОС приложения я написал, и настольных браузеров. Если я попытаюсь подключиться к телефону Android, я получаю ответ на 400 запросов. Я попробовал то же самое через хром для андроида, это дает мне:
ERR_TUNNEL_CONNECTION_FAILED
Сервер также прослушивает порт 443, используя самозаверяющий сертификат, и андроид клиент работает нормально там (я нужен дополнительный код там, чтобы мое приложение доверяло самозаверяющему сертификату).
Есть ли ограничение в android, где https должен использовать порт 443? Я думал, что, поскольку я использую законный сертификат ssl, мне не нужен какой-либо пользовательский код, чтобы заставить приложение доверять сертификату. Мой код подключения:
HttpParams params = new BasicHttpParams();
DefaultHttpClient client = new DefaultHttpClient(params);
HttpResponse response = client.execute(request);
Result result = new Result(response.getStatusLine().getStatusCode());
response.getStatusLine().getStatusCode(); // 400
response.getStatusLine().toString(); // HTTP/1.1 400 Bad Request
Благодаря
Вы доступ через прокси-сервер, случайно? –