У меня есть приложение, которое обрабатывает HTTP-запросы на удаленном сервере. Я делаю это с помощью следующего кода:Как сделать весь сетевой трафик через прокси?
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("myURL");
try {
ArrayList<BasicNameValuePair> postVariables = new ArrayList<BasicNameValuePair>(2);
postVariables.add(new BasicNameValuePair("key","value"));
httpPost.setEntity(new UrlEncodedFormEntity(postVariables));
HttpResponse response = httpClient.execute(httpPost);
String responseString = EntityUtils.toString(response.getEntity());
if (responseString.contains("\"success\":true")){
//this means the request succeeded
} else {
//failed
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Это идет очень хорошо, но один из наших клиентов создать APN, который требует запросов, чтобы идти через определенный прокси-сервер. Если добавить следующее к запросу это работает, запрос получает перенаправляется через прокси на сервере:
HttpHost httpHost = new HttpHost("proxyURL",8080);
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, httpHost);
До сих пор так хорошо, однако, я использую библиотеку, которая делает некоторые запросы HTTP, а также. Код библиотеки не доступен для меня, поэтому я не могу добавить эти две строки в код. Я связался с создателями этой библиотеки, и они сказали мне, что должно быть возможно настроить среду Android, чтобы все запросы автоматически проходили через прокси. Есть что-то в этом роде? Я ничего не нашел в Google.
Я в основном ищу способ установить эти две строки в качестве стандарта для всех HTTP-запросов. Обратите внимание, что APN не устанавливает прокси по умолчанию для всего телефона, поэтому приложения должны будут делать это вручную (и да, это означает, что большинство приложений не работают на телефоне этого клиента).
Спасибо, я посмотрю на это, это было бы действительно то, что мне нужно. Я не хочу влиять на другие приложения :). – Kevin
Я еще не могу проверить это, но я прочитал ваши предложения, и я думаю, что это правильный путь. Отметьте как ответ, спасибо. – Kevin