Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/46: Рейтинг темы: голосов - 46, средняя оценка - 4.57
Dzigar
2 / 2 / 0
Регистрация: 02.11.2011
Сообщений: 100
1

Отправка Post запроса на сайт и получение ответа

06.07.2013, 08:49. Просмотров 9328. Ответов 6
Метки нет (Все метки)

Здравствуйте. Помогите решить такую проблему:
есть сайт на котором всего одно поле для ввода. в которое нужно записать пароль чтобы перейти на станицу каталога с товарами. Как отправить программно такой запрос и получить в ответ код станицы которую можно было бы дальше парсить ?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2013, 08:49
Ответы с готовыми решениями:

Получение параметров из POST запроса
Делаю бот ана spring для java , необходимо получить userID и TextMessage.Как это сделать?Подскажите...

Отправка POST запроса и получение ответа
Есть проблема. Нужно отправить на сайт POST запрос и в зависимости от этого запроса сайт выдает...

Отправка POST запроса и получение ответа
Здравствуйте! Я новичок в java, мне дали задание распарсерить данные (формат json) и отправить их...

Отправка POST запроса в ВК и получение ответа
Пытаюсь загрузить аватар в группу ВК. И при отправке post запроса с изображением, в ответ приходит...

Посылка запроса POST и получение ответа в xml
Здравствуйте, товарищи. Как сформировать следующий запрос и отправить хосту? POST %2Fcommand...

6
mutagen
2569 / 2242 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
06.07.2013, 11:42 2
посмотреть в коде страницы, name или id формы с которой отправляется пароль, посмотреть что за метод отправки POST, или GET (хотя гет маловероятно) и сформировать респонз с этими данными, также возможно там будет присутствовать куки или хиден поле как трекер сессии, их тоже не забыть
0
Dzigar
2 / 2 / 0
Регистрация: 02.11.2011
Сообщений: 100
06.07.2013, 13:59  [ТС] 3
Подскажи как исправить ошибку. Я ниже привел пример той формы на сайте и своего кода. После отправки пост запроса выбрасывает ошибку.

HTML5
1
2
3
4
5
<form action="http://jev.com.ua/wp-pass.php" method="post">
<p>Эта запись защищена паролем. Для её просмотра введите, пожалуйста, пароль:</p>
<p><label for="pwbox-212">Пароль:<br />
<input name="post_password" id="pwbox-212" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Отправить" /></p></form>
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
 
public class TestPostRequest {
    private final String USER_AGENT = "Mozilla/5.0";
 
    public static void main(String[] args) throws Exception {
 
        TestPostRequest http = new TestPostRequest();
 
        System.out.println("Testing 1 - Send Http GET request");
        http.sendGet();
 
        System.out.println("\nTesting 2 - Send Http POST request");
        http.sendPost();
 
    }
 
    // HTTP GET request
    private void sendGet() throws Exception {
 
        String url = "http://jev.com.ua/gallery/?album=3&gallery=12";
 
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
 
        // optional default is GET
        con.setRequestMethod("GET");
 
        // add request header
        con.setRequestProperty("User-Agent", USER_AGENT);
 
        int responseCode = con.getResponseCode();
        System.out.println("\nSending 'GET' request to URL : " + url);
        System.out.println("Response Code : " + responseCode);
 
        BufferedReader in = new BufferedReader(new InputStreamReader(
                con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
 
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
 
        // print result
        System.out.println(response.toString());
 
    }
 
    // HTTP POST request
    private void sendPost() throws Exception {
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost post = new HttpPost("http://jev.com.ua/gallery/");
 
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("pwbox-212", "481"));
        try {
 
            post.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            // writing error to Log
            e.printStackTrace();
        }
 
        try {
            HttpResponse response = httpClient.execute(post);
            HttpEntity respEntity = response.getEntity();
 
            if (respEntity != null) {
                // EntityUtils to get the reponse content
                String content = EntityUtils.toString(respEntity);
            }
        } catch (ClientProtocolException e) {
            // writing exception to log
            e.printStackTrace();
        } catch (IOException e) {
            // writing exception to log
            e.printStackTrace();
        }}
Testing 2 - Send Http POST request
июл 06, 2013 12:55:15 PM org.apache.http.client.protocol.ResponseProcessCookies processCookies
WARNING: Cookie rejected: "[version: 0][name: wordpress_adfe98727263829151090982be5d0cb4][value: %7C1374314118%7C0bf4f5e83566387a3bc63dca0975f3e9][domain: jev.com.ua][path: /wp-content/plugins][expiry: Sat Jul 20 12:55:18 EEST 2013]". Illegal path attribute "/wp-content/plugins". Path of origin: "/gallery/"
июл 06, 2013 12:55:15 PM org.apache.http.client.protocol.ResponseProcessCookies processCookies
WARNING: Cookie rejected: "[version: 0][name: wordpress_adfe98727263829151090982be5d0cb4][value: %7C1374314118%7C0bf4f5e83566387a3bc63dca0975f3e9][domain: jev.com.ua][path: /wp-admin][expiry: Sat Jul 20 12:55:18 EEST 2013]". Illegal path attribute "/wp-admin". Path of origin: "/gallery/"
0
mutagen
2569 / 2242 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
06.07.2013, 17:18 4
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package net;
 
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.CookieStore;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.params.ClientPNames;
import org.apache.http.client.protocol.ClientContext;
import org.apache.http.cookie.Cookie;
import org.apache.http.cookie.CookieOrigin;
import org.apache.http.cookie.CookieSpec;
import org.apache.http.cookie.CookieSpecFactory;
import org.apache.http.cookie.MalformedCookieException;
import org.apache.http.impl.client.BasicCookieStore;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.cookie.BrowserCompatSpec;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils;
 
/**
 * @author mutagen
 */
public class TestPost {
 
    private final String USER_AGENT = "Mozilla/5.0";
 
    public static void main(String[] args) throws Exception {
        TestPost test = new TestPost();
 
        System.out.println("Testing 1 - Send Http GET request");
        HttpContext context = test.sendGet(test.getClient(test.getFactory()));
        System.out.println(context);
        System.out.println("\nTesting 2 - Send Http POST request");
        String site = test.sendPost(context, test.getClient(test.getFactory()));
        System.out.println("=================================================");
        System.out.println("=================================================");
        System.out.println(site);
    }
 
    CookieSpecFactory getFactory() {
        CookieSpecFactory csf = new CookieSpecFactory() {
            public CookieSpec newInstance(HttpParams params) {
                return new BrowserCompatSpec() {
                    @Override
                    public void validate(Cookie cookie, CookieOrigin origin) throws MalformedCookieException {
                        System.out.println("пропускаем все хреновые куки: " + cookie);
                    }
                };
            }
        };
        return csf;
    }
 
    HttpClient getClient(CookieSpecFactory csf) {
        DefaultHttpClient httpClient = new DefaultHttpClient();
        if (csf != null) {
            httpClient.getCookieSpecs().register("AllCookiePass", csf);
            httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, "AllCookiePass");
        }
        return httpClient;
    }
 
    // HTTP GET request
    private HttpContext sendGet(HttpClient httpClient) throws Exception {
        List<Cookie> cookies;
        HttpContext localContext;
        String url = "http://jev.com.ua/gallery/?album=3&gallery=12";
        try {
            HttpGet get = new HttpGet(url);
            CookieStore cookieStore = new BasicCookieStore();
            localContext = new BasicHttpContext();
            localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
            HttpResponse response = httpClient.execute(get, localContext);
            HttpEntity entity = response.getEntity();
            cookies = cookieStore.getCookies();
        } finally {
            httpClient.getConnectionManager().shutdown();
        }
        return localContext;
    }
 
    // HTTP POST request
    private String sendPost(HttpContext localContext, HttpClient httpClient) throws Exception {
        HttpPost post = new HttpPost("http://jev.com.ua/gallery/");
        String content = null;
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("pwbox-212", "481"));
        try {
            post.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
 
        try {
            HttpResponse response = httpClient.execute(post, localContext);
            System.out.println(localContext.getAttribute(ClientContext.COOKIE_STORE));
            System.out.println(response.getStatusLine());
            HttpEntity respEntity = response.getEntity();
            if (respEntity != null) {
                content = EntityUtils.toString(respEntity);
                EntityUtils.consume(respEntity);
            }
        } catch (ClientProtocolException e) {
            // writing exception to log
            e.printStackTrace();
        } catch (IOException e) {
            // writing exception to log
            e.printStackTrace();
        } finally {
            httpClient.getConnectionManager().shutdown();
        }
        return content;
    }
}
2
Dzigar
2 / 2 / 0
Регистрация: 02.11.2011
Сообщений: 100
06.07.2013, 18:48  [ТС] 5
А почему выдает код страницы, на которой вводиться пароль ?
0
mutagen
2569 / 2242 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
06.07.2013, 19:12 6
возможно остальное рисует js, я глубоко не закапывался в проблему, попробуйте проанализировать куки, js-ки ,может там ответ
0
lp_4eva
Учусь...
60 / 3 / 2
Регистрация: 20.03.2010
Сообщений: 167
24.06.2014, 15:09 7
mutagen,
А что если надо ввести и пароль и имя пользователя? Делать add в List<NameValuePair> ?
Таким образом у меня выдает код страницы запрашивающий пароль.
0
24.06.2014, 15:09
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2014, 15:09

Отправка запроса на сервер, и получение ответа
Нужно сделать запрос на сайт, &quot;http://....... .php и что бы он в ответ выдал Фамилию и пароль....

Отправка http запроса и получение ответа
я понимаю что есть дофига тем про это, я честно гуглила и искала, но находила в основном код без...

Получение ответа POST запроса в виде файла PDF
Подскажите как реализовать. Есть POST на AJAX запрос к скрипту на perl, который в свою очередь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru