Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
81 / 81 / 8
Регистрация: 13.01.2010
Сообщений: 304

сделать запрос к БД сайта

29.04.2011, 18:57. Показов 1262. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
нужно проверить существует ли слово. Нашел такой адрес http://aot.ru/cgi-bin/search но проблема: как автоматизировать процесс проверки? Т.е. я в программе вбиваю слово, она его отправляет в форму на странице и запрашивает результат. Посмотрел код страницы, куда данные отсылаются я не нашел.
ЗЫ подойдет любой другой подобный сервис.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2011, 18:57
Ответы с готовыми решениями:

Как на java сделать JSON запрос и ответ от какого нибудь определенного сайта. Как это все делается ?
цццц

Как в Delphi сделать запрос на запрос, база mssql, BDE
Добрый день! Кто-нибудь может подсказать, как можно Tquery и использовать как таблицу, при написании другого запроса? Заранее спасибо!

Как именно можно сделать SQLite запрос, если запрос уже сформирован?
Здравствуйте. Помогите понять , как именно можно сделать SQLite запрос , если запрос уже сформирован Перечитал кучу информации но не могу...

6
20 / 19 / 1
Регистрация: 20.10.2009
Сообщений: 103
30.04.2011, 19:19
Ну для начала тебе бы почитать как организованы вообще запросы к скриптам сайта.... а уж потом браться за дело...
Но что бы не быть пустословом на тебе процедурку из моей проги
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private CookieCollection Cooks = new CookieCollection();
public string Requests(string adress)
        {
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(adress);
            httpWebRequest.AllowAutoRedirect = true;
            httpWebRequest.CookieContainer = new CookieContainer();
            if (Cooks != null)
            {
                //Добавляем к нашему запросу ранее сохраненную сессию
                httpWebRequest.CookieContainer.Add(Cooks);
            }
            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            httpWebResponse.Cookies = httpWebRequest.CookieContainer.GetCookies(httpWebRequest.RequestUri);
            if (httpWebResponse.Cookies != null)
            {
                //Обновляем сессию
                Cooks.Add(httpWebResponse.Cookies);
            }
            Stream stream = httpWebResponse.GetResponseStream();
            StreamReader reader = new StreamReader(stream);
            return reader.ReadToEnd();
        }
и еще твой адрес http://aot.ru/cgi-bin/search никуда не ведет.
0
81 / 81 / 8
Регистрация: 13.01.2010
Сообщений: 304
30.04.2011, 22:05  [ТС]
Цитата Сообщение от shadowmaster63 Посмотреть сообщение
Ну для начала тебе бы почитать как организованы вообще запросы к скриптам сайта.... а уж потом браться за дело...
Но что бы не быть пустословом на тебе процедурку из моей проги
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private CookieCollection Cooks = new CookieCollection();
public string Requests(string adress)
        {
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(adress);
            httpWebRequest.AllowAutoRedirect = true;
            httpWebRequest.CookieContainer = new CookieContainer();
            if (Cooks != null)
            {
                //Добавляем к нашему запросу ранее сохраненную сессию
                httpWebRequest.CookieContainer.Add(Cooks);
            }
            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            httpWebResponse.Cookies = httpWebRequest.CookieContainer.GetCookies(httpWebRequest.RequestUri);
            if (httpWebResponse.Cookies != null)
            {
                //Обновляем сессию
                Cooks.Add(httpWebResponse.Cookies);
            }
            Stream stream = httpWebResponse.GetResponseStream();
            StreamReader reader = new StreamReader(stream);
            return reader.ReadToEnd();
        }
и еще твой адрес http://aot.ru/cgi-bin/search никуда не ведет.
как организованы? в смысле? По submit значение текстблока отправляется в скрипт проверки на сервере, слово прогоняется по базе данных, выкладывается ответ. Имя скрипта и список параметров я ясное дело не знаю.
Что мне этот пример должен был показать я что то не понял... Конкретнее можно? Ничего сверхнедоступного я для себя там не увидел, такого чтоб сразу кинуться за книги.
А ссылка и правда кривая. Вот http://aot.ru/demo/morph.html что я имел ввиду.
0
20 / 19 / 1
Регистрация: 20.10.2009
Сообщений: 103
01.05.2011, 10:10
Во первых ты не сказал каким именно методом отсылаются данные из текстбокса сайта.
Отвечу за тебя POST
тогда используй вот такую процедуру
C#
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
public string Request_Post()
{
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("Адрес скрипта к которому будем отправлять запросы");
            // Разрешаем авторедирект
            httpWebRequest.AllowAutoRedirect = true;
            // Создаем для запроса новый контейнер для хранения сессий
            httpWebRequest.CookieContainer = new CookieContainer();
            // Следующие строки итак понятны
            httpWebRequest.Method = "POST";
            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
            // Переть тем как заполнять поля формы, текст конвертируем в байты
            byte[] ByteQuery = System.Text.Encoding.ASCII.GetBytes("СТРОКА НАШЕГО ПОСТ ЗАПРСА ЕЁ ТЫ ДОЛЖЕН УЗНАТЬ САМ ОСНВЫВАЯСЬ НА КОДЕ ФОРМЫ");
            // Длинна запроса (обязательный параметр)
            httpWebRequest.ContentLength = ByteQuery.Length;
            // Открываем поток для записи
 
            Stream QueryStream = httpWebRequest.GetRequestStream();
            // Записываем в поток (это и есть POST запрос(заполнение форм))
            QueryStream.Write(ByteQuery, 0, ByteQuery.Length);
            // Закрываем поток
            QueryStream.Close();
            // Объект с ответом сервера
            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            // Присваиваем сессию
            httpWebResponse.Cookies = httpWebRequest.CookieContainer.GetCookies(httpWebRequest.RequestUri);
            if (httpWebResponse.Cookies != null)
            {
                // Добавляем сессию в наш контейнер для дальнейшего использования
                Cooks.Add(httpWebResponse.Cookies);
            }
            // Открываем поток для чтения
            Stream stream = httpWebResponse.GetResponseStream();
            // Читаем из потока
            StreamReader reader = new StreamReader(stream);
            // Возвращаем результат запроса
            return reader.ReadToEnd();
}
Ну раз тебе все понятно из этого кода, тогда думаю вопросов больше не возникнет.

Добавлено через 2 минуты
Цитата Сообщение от ellin Посмотреть сообщение
Имя скрипта и список параметров я ясное дело не знаю.
А Это ты должен узнать из исходного кода хтмл странички на которой это форма находится. Или с помощью программки http снифера
1
81 / 81 / 8
Регистрация: 13.01.2010
Сообщений: 304
01.05.2011, 10:35  [ТС]
я не писал что мне все понятно. Но думаю окончательно разберусь сам.
0
4 / 4 / 0
Регистрация: 31.01.2010
Сообщений: 27
01.05.2011, 20:31
В качестве сниффера рекомендую Fiddler.
0
20 / 19 / 1
Регистрация: 20.10.2009
Сообщений: 103
02.05.2011, 08:01
а я пользуюсь http Analyser но пойдет даже плагин для файр фокса =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.05.2011, 08:01
Помогаю со студенческими работами здесь

Как сделать запрос, что бы найти минимальное число через под ЗАПРОС
Этот запрос у меня считает минимальное время ( сколько часов ведет урок препод), который ведет препод по предметам. Как это сделать...

Если нужно сделать запрос на добавление, зачем предварительно делать запрос на выборку?
Есть таблица: ID_записи, поле1, поле2, поле3. Хотелось бы записать запрос на добавление записи с полем1=!.!. (остальные пустые, кроме...

Определить какие поля сделать в таблице и как сделать запрос
Доброго времени суток! Задание: «Теннисисты» 1. Сведения: фамилия и имя теннисиста, название турнира, место на турнире, рейтинг...

Запрос с сайта
Здраствуйте! Есть желание создать программу, которая будет отправлять запрос с заданными ключевыми словами и настройками на сайте по...

Json запрос с сайта
Всем привет. Написал код: <!DOCTYPE html> <html> <body> <STYLE type="text/css"> body { background: #fafafa...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru