Как подключиться к Интернету на моем Android-приложении, когда у меня есть сервер с прокси-сервером «IP: Порт» и запрашивает имя пользователя и пароль - PullRequest
0 голосов
/ 11 декабря 2011

Я занимаюсь разработкой приложения для Android, и в компании есть прокси-сервер, не позволяющий ему получить доступ к Интернету.
Напоминаю, что в Java есть методы Http, которые служат цели, я их искал, но безрезультат.

Итак, что я хотел бы, это как указать IP-адрес и номер порта сервера, мои логин и пароль, а также имя домена.

Примечание. Я настроил эмулятор для подключения к Интернету, перейдя в APN, и он успешно подключился к Интернету через браузер.

1 Ответ

0 голосов
/ 11 декабря 2011

попробуйте использовать следующий код

/**
 * A simple example that uses HttpClient to execute an HTTP request
 * over a secure connection tunneled through an authenticating proxy.
 */
public class ClientProxyAuthentication {

    public static void main(String[] args) throws Exception {

        DefaultHttpClient httpclient = new DefaultHttpClient();
        try {
            httpclient.getCredentialsProvider().setCredentials(
                    new AuthScope("localhost", 8080),
                    new UsernamePasswordCredentials("username", "password"));

            HttpHost targetHost = new HttpHost("www.verisign.com", 443, "https");
            HttpHost proxy = new HttpHost("localhost", 8080);

            httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

            HttpGet httpget = new HttpGet("/");

            System.out.println("executing request: " + httpget.getRequestLine());
            System.out.println("via proxy: " + proxy);
            System.out.println("to target: " + targetHost);

            HttpResponse response = httpclient.execute(targetHost, httpget);
            HttpEntity entity = response.getEntity();

            System.out.println("----------------------------------------");
            System.out.println(response.getStatusLine());
            if (entity != null) {
                System.out.println("Response content length: " + entity.getContentLength());
            }
            EntityUtils.consume(entity);

        } finally {
            // When HttpClient instance is no longer needed,
            // shut down the connection manager to ensure
            // immediate deallocation of all system resources
            httpclient.getConnectionManager().shutdown();
        }
    }
}
...