ответ httpclient

Я пытаюсь автоматически войти на веб-страницу. Я предполагаю, что я передаю надлежащие учетные данные.

entity.getContentLength() показывает 20, но ответ, который я вижу, плохо отформатирован. Это не HTML. Как мне поступить дальше. Ниже мой код.

String input_text = "https://www.abc.com";
                HttpPost httpost = new HttpPost(input_text);

                List <NameValuePair> nvps = new ArrayList <NameValuePair>();
                nvps.add(new BasicNameValuePair("email", "[email protected]"));
                nvps.add(new BasicNameValuePair("passsword", "ttyyeri"));   
                nvps.add(new BasicNameValuePair("publicLoginToken",""));

                httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));

                HttpResponse  response = httpclient.execute(httpost);
                entity  = response.getEntity();

                if (entity != null) {
                  BufferedReader br = new BufferedReader(new InputStreamReader(entity.getContent()));
                  String readLine;
                  while(((readLine = br.readLine()) != null)) {
                    System.err.println("br   :"+readLine);
                 }
                  System.out.println("Response content length: " + entity.getContentLength());

                }      

                System.out.println("HTML Content :::"+entity.getContent().toString());

person JNPW    schedule 07.02.2012    source источник
comment
It is not an HTML чем это.?   -  person RanRag    schedule 08.02.2012
comment
Можете ли вы опубликовать ответ, который вы получаете обратно?   -  person nolt2232    schedule 08.02.2012
comment
@ranRag... ответ не в формате HTML. приведенный выше System.err.println(br:+readLine); печатает что-то, что не отформатировано. Я не могу скопировать и вставить ответ... выглядит так... br :‹.   -  person JNPW    schedule 08.02.2012
comment
@javaiText: http 302 означает перенаправление. Вам нужно установить реферер http. Используйте аддон firefox's live http header, чтобы увидеть, что на самом деле происходит, когда вы входите в систему вручную.   -  person RanRag    schedule 08.02.2012
comment
как установить http реферер? Когда я отслеживал живой HttpHeader, указанный выше URL v3/credential имеет Referer: hautelook.com/login. Что это означает? любые примеры, которые могут помочь?   -  person JNPW    schedule 08.02.2012


Ответы (3)


пытаться

  StatusLine l = response.getStatusLine();
  System.out.println(l.getStatusCode() + "  " + l .getReasonPhrase());

вывод ?

person Community    schedule 07.02.2012
comment
httpGet дает мне HTML-ответ "страницы входа нового участника" - person JNPW; 08.02.2012
comment
a посмотрел на страницу - они отправляют данные в формате JSON {email:sdasd,пароль:asdas,meta:{screen_resolution:{height:768,width:1366}}} - person ; 08.02.2012
comment
Итак, мне нужно создать объект JASON и передать учетные данные таким образом? - person JNPW; 08.02.2012

Похоже, вы получаете перенаправление запроса авторизации. Возможно, это уже было описано здесь: Http Basic Authentication в Java с использованием HttpClient?

person dbrin    schedule 07.02.2012

Изучите заголовок HttpResponse, вы можете найти тип контента и код ответа. Что поможет найти проблему.

person Sajan Chandran    schedule 07.02.2012