Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
Noit
26 / 26 / 3
Регистрация: 11.04.2012
Сообщений: 868
#1

Составление http запроса - Программирование Android

03.07.2012, 18:42. Просмотров 2047. Ответов 18
Метки нет (Все метки)

Нужен запрос в котором передаются логин и пароль, и затем выводятся данные уже авторизованного пользователя, например страница либо информация со страницы
только начал осваивать, но разобраться трудновато, помогите
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2012, 18:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составление http запроса (Программирование Android):

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

Пример простого http- запроса - Программирование Android
Добрый день! прошу посодействовать в решении данного вопроса: имеется устройство в локальной сети с IP 192.168.1.1, которое...

Ограничить время выполнения HTTP запроса - Программирование Android
Всем привет Имеется код, работающий на отдельном сервисе BufferedReader rdr = null; HttpClient client = new...

Два http get запроса в одном AsyncTask - Программирование Android
Добрый день, при вызове двух последовательных http get запросов происходит следующая ситуация: первый запрос выполняется полностью ...

Пример выполнения (HTTP) запроса к веб-сервису и разбор ответа - Программирование Android
Здравствуйте! Просмотрев кучу форумов и прочитав много статей, не нашёл ответа на вопрос как создать приложение в Андроид которое...

Составление запроса - PHP БД
Есть таблица user, в которой содержаться пользователи. У каждого нового пользователя id на 1 выше, чем у предыдущего. Помогите составить...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
03.07.2012, 20:40 #2
http://www.androidsnippets.com/execu...ith-httpclient
http://www.androidsnippets.com/execu...ith-httpclient
0
Noit
26 / 26 / 3
Регистрация: 11.04.2012
Сообщений: 868
03.07.2012, 20:54  [ТС] #3
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void postData() {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");
 
    try {
        // Add your data
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("id", "12345"));
        nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
 
        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
        
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}
итоги по нулям((

Добавлено через 26 секунд
Java
1
2
catch (IOException e) {
        // TODO Auto-generated catch block
суда переходит

Добавлено через 43 секунды
Java
1
HttpResponse response = httpclient.execute(httppost);
а это не выполняется, перед ним выхoдит из try
0
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
03.07.2012, 21:07 #4
<uses-permission android:name="android.permission.INTERNET" />
0
Noit
26 / 26 / 3
Регистрация: 11.04.2012
Сообщений: 868
04.07.2012, 12:20  [ТС] #5
а как можно вывести содержимое страницы которую открыло с паролем и логином на экран, или хотя бы часть этих данных??

Добавлено через 1 час 48 минут
Java
1
2
3
4
5
6
7
8
9
10
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
 
            String line = "";
            while ((line = rd.readLine()) != null) {
                System.out.println(line);
                if (line.startsWith("Auth=")) {
                    String key = line.substring(5);
                    // Do something with the key
                }
            }
Выводится страница, но только в лог, а как ее встаить на экран или что можно сделать для вывода ее на экран приложения??
0
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
04.07.2012, 13:47 #6
-если у вас в ответе от сервера html, можно вывести в webview
-но я не вижу смысла так как человек может зайти через сайт и получить тот же функционал
-лучше реализовать свой интерфейс для работы с сайтом, если вы задавались такой целью
так как по вашим вопросом можно только гадать
0
Noit
26 / 26 / 3
Регистрация: 11.04.2012
Сообщений: 868
04.07.2012, 14:16  [ТС] #7
у меня есть меню, при нажатии на кнопку(на той же меню), открывается новое окно, в нем нужно отобразить часть данных полученных при запросе, который написан выше, как мне эти данные допустим занести в html файл??
0
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
04.07.2012, 14:23 #8
в ответ от сервера вам приходит строка данных

если у вас в ответ приходит html - строка и вам надо его распарсить, то используем к пример HtmlСleaner
http://www.javatalks.ru/sutra121348.php

ваш вопрос как их занести в html вообще не понятен
вот к примеру
Java
1
myWebView.loadData(myHtmlString, "text/html; charset=UTF-8", null);
0
Noit
26 / 26 / 3
Регистрация: 11.04.2012
Сообщений: 868
04.07.2012, 14:38  [ТС] #9
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
public void postData() {
        
        // Create a new HttpClient and Post Header
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://fergus.myftp.org/poit7/index.php");
 
        try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("user_login", "Noit"));
            nameValuePairs.add(new BasicNameValuePair("user_password", "123456"));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);
 
            System.out.println(response);
            
            BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
 
            String line = "";
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
                
                if (line.startsWith("Auth=")) {
                    String key = line.substring(5);
                    // Do something with the key
                }
            }
            
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            Log.e("ERROR","MalformedURLException");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            Log.e("ERROR","IOException");
        }
        
    }
в reader находится текст страницы, извиняюсь, если спрашиваю глупости, но как это вывести именно на экран?

Добавлено через 40 секунд
я вывожу в Log, для проверки, а на экран вывести не могу(
0
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
04.07.2012, 14:45 #10
сироки с 18 по 28 убрать и заменить на
String str = EntityUtils.toString(response.getEntity());
response.getEntity().consumeContent();
return str;

и соответсвенно понемять тип возвращаемого значения на стринг

ну и потом в активити где-то присвоить например EditText
0
Noit
26 / 26 / 3
Регистрация: 11.04.2012
Сообщений: 868
04.07.2012, 14:56  [ТС] #11
Цитата Сообщение от flashok Посмотреть сообщение
return str;
Ошибочка вылезла:
Void methods cannot return a value
0
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
04.07.2012, 15:02 #12
Цитата Сообщение от flashok Посмотреть сообщение
и соответсвенно понемять тип возвращаемого значения на стринг
для кого я писал
1
Noit
26 / 26 / 3
Регистрация: 11.04.2012
Сообщений: 868
04.07.2012, 15:31  [ТС] #13
а можно ли еще чтобы вывести не в EditText а в webView в качестве страницы?? и пример пожалуйста

Добавлено через 17 минут
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
public class AfishaActivity extends Activity {
            
    private WebView mWebView;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
                
        /*EditText WebText = new EditText(this);
        Spanned stroka = Html.fromHtml(postData());
        WebText.setText(stroka);
 
        setContentView(WebText);*/
        
        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true); 
        mWebView.loadData(postData(), "text/html", null);
        mWebView.setWebViewClient(new BrouserClient());
        
    }
    
    private class BrouserClient extends WebViewClient 
    {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) 
        {
            view.loadUrl(url);
            return true;
        }
    }
есть такая часть кода, но... она выводит строку с кодом в качестве адреса(
0
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
04.07.2012, 15:48 #14
я же уже писал что можно сделать так

Java
1
myWebView.loadData(myHtmlString, "text/html; charset=UTF-8", null);
где myHtmlString возвращаемая предудущей функцией строка

если я все правильно понял

У вас в коде я не заметил mWebView
что-то я не понял тогда что у вас не получаеться

проще киньте проект
0
Noit
26 / 26 / 3
Регистрация: 11.04.2012
Сообщений: 868
04.07.2012, 16:05  [ТС] #15
считывает строку не как хтмл контент, а как адрес по которому должна быть страница выводит якобы веб страница не доступна

Добавлено через 6 минут
уже разобрался, только вместо русских буквочек, казикабры вылезли
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2012, 16:05
Привет! Вот еще темы с ответами:

Составление запроса - Firebird/InterBase
Здравствуйте. С удовольствием бы разобрался сам, но с БД только начинаю дружить, а срочно надо получить данные. Есть БД, в которой...

Составление запроса - MySQL
есть 2 таблицы special: id naimspec allspecial: id kspec namespec во allspecial хранится список специальностей, в special...

Составление запроса - MS Access
Доброе время суток. Нужна помощь в создании вложенного запроса в базе данных городской думы. Задание: Вывести информацию о комиссиях,...

Составление запроса - SQL Server
Здравствуйте. Прошу помочь с составлением запроса В БД есть таблицы: Сотрудники (номер,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
04.07.2012, 16:05
Ответ Создать тему
Опции темы

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