Соединитесь с сетью, которая требует пользователя / пароля - PullRequest
3 голосов
/ 04 августа 2010

Я немного новичок в Java и больше в связях с ней.Я пытаюсь создать программу для подключения к веб-сайту ("www.buybackprofesional.com"), где я хотел бы загрузить фотографии и получить текст из автомобилей (после входа в систему необходимо ввести номерной знак, чтобы получить доступ к автомобилюфайл).

Это то, что у меня есть сейчас, но оно всегда говорит о том, что сессия истекла, мне нужен способ авторизации, используя имя пользователя и пароль главной страницы, я прав?может кто-нибудь дать мне совет?Спасибо

Примечание: я хочу сделать это на Java, возможно, я не совсем понял вопрос.

        //URL web = new URL("http://www.buybackprofesional.com/DetallePeri.asp?mat=9073FCV&fec=27/07/2010&tipo=C&modelo=4582&Foto=0");
        URL web = new URL("http://www.buybackprofesional.com/");
        HttpURLConnection con = (HttpURLConnection) web.openConnection();
        con.setRequestMethod("GET");
        con.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; JVM)");
        con.setRequestProperty("Pragma", "no-cache");
        con.connect();
              BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String line = null;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }                  

Коллега помогла мне с этим, поэтому я выложу код, который работает:

public static URLConnection login(String _url, String _username, String _password) throws IOException, MalformedURLException {

    String data = URLEncoder.encode("Usuario", "UTF-8") + "=" + URLEncoder.encode(_username, "UTF-8");
    data += "&" + URLEncoder.encode("Contrase", "UTF-8") + "=" + URLEncoder.encode(_password, "UTF-8");

    // Send data
    URL url = new URL(_url);
    URLConnection conn = url.openConnection();
    conn.setDoOutput(true);

    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
    wr.write(data);
    wr.flush();
    wr.close();
    return conn;
}

Это отправит информацию о форме на нужную мне страницу, и после этого, используя куки, я могу оставаться на связи!

1 Ответ

1 голос
/ 04 августа 2010

Чтобы подключиться к веб-сайту с использованием Java, рассмотрите возможность использования httpunit или httpcore (предлагается apache). Они обрабатывают сессии намного лучше, чем вы (или я) могли бы делать самостоятельно.

Редактировать: Исправлено расположение ссылки. Спасибо за исправление!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...