Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 12
1

Собрать данные для post-запроса?

29.01.2012, 14:44. Показов 1294. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!

Ребят, выручайте, уже неделю бьюсь.
Нужно залогиниться в твиттере.

В папке с приложением у меня две библиотеки:
libeay32.dll, ssleay.dll

На форме:
TIdHTTP, TIdCookieManager, TIdSSLIOHandlerSocketOpenSSL.
В свойствах TIdHTTP установлено: IOHandler=IdSSLIOHandlerSocketOpenS SL1.

Сниффером посмотрел, что данные форм передаются следующие:
HTML5
1
2
3
4
session[username_or_email]:MyLogin
session[password]:MyPassword
scribe_log:["{\"event_name\":\"web:front:login_ callout:form:login_click\",\"noob_l evel\":null,\"internal_referer\":nu ll,\"user_id\":0,\"page\":\"front\" ,\"_category_\":\"client_event\",\" ts\":1327835579597}"]
redirect_after_login:
Последний набор при каждом post-запросе меняется. Т.е., насколько я понимаю, мне нужно его как-то выдрать и добавить к заголовкам перед запросом. Но как? Думал сделать просто get-запрос и взять их из ответа, но при get-запросах сервер не возвращает эту комбинацию...

Вот код обработки нажатия кнопки:
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var
  data: tstringlist;
  StrPage, UserID,  UserName  :  String;
  i : integer;
begin
 
  try
    Data := TStringList.Create;
    idHttp1.AllowCookies := true;
    idHttp1.CookieManager := IdCookieManager1;
    idHttp1.HandleRedirects := true;
 
    idHttp1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    idHttp1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.3';
    idHttp1.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
    idHttp1.Request.Connection:='keep-alive';
    idHttp1.Request.ContentType:='application/x-www-form-urlencoded';
    idHttp1.Request.Host:='twitter.com';
    idHttp1.Request.Referer:='https://twitter.com/';
    idHttp1.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7';
 
    Data.Add('session[username_or_email]=Login');
    Data.Add('session[password]=Password');
    //Data.Add('scribe_log:'+(Сюда нужно дописать комбинацию цифр из ответа сервера));
 
    StrPage := idHttp1.post('https://twitter.com/sessions?phx=1', data);
    memo1.Text:=strpage;
 
  finally
 
  end;
 
end;
И вообще, того ли мне не хватает, или я вообще не в том направлении иду?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.01.2012, 14:44
Ответы с готовыми решениями:

Откуда берутся данные для POST запроса
Добрый вечер. Пытаюсь повторить POST запрос. Загружаю страницу в браузере. В инструментах...

Получить данные post-запроса
Доброго всем! Тема, конечно, запиленная как пластинка с риоритой :( Пытаюсь получить данные...

Данные из Post запроса, записать в БД access
Доброго времени суток. При отправке пост запроса на сервер получаю данные вида xml, трех полей,...

Requests: gzip данные в теле POST запроса
Всем привет. Есть protobuf сообщение (Content-Type="application/x-protobuf"). Его нужно отослать в...

6
 Аватар для anonimus
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
30.01.2012, 11:18 2
Цитата Сообщение от trafbite Посмотреть сообщение
Сниффером посмотрел, что данные форм передаются следующие:
это не похоже на post запрос
0
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 12
30.01.2012, 11:48  [ТС] 3
Это не сам пост запрос, это из раздела "Post Data" - это то, что передается в поля "input" форм на странице авторизации.

Суть в том, что кукисы я беру из CookieManager, здесь все хорошо, логин и пароль тоже ввожу. А вот как выковырять последнюю комбинацию цифр - загадка...
0
 Аватар для raxper
10234 / 6612 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 3
30.01.2012, 13:29 4
...материал из цикла статей, "USB термометр и дистанционка в одном флаконе. Часть 6... Автопостим в Twitter":
http://raxp.radioliga.com/cnt/s.php?p=usb6.pdf
0
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 12
30.01.2012, 13:31  [ТС] 5
ESET NOD32 Antivirus заблокировал доступ к веб-странице.
Страница находится в списке веб-сайтов с потенциально опасным
содержимым.
0
 Аватар для raxper
10234 / 6612 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 3
30.01.2012, 13:34 6
...сочувствую, настройте антивирь.
0
0 / 0 / 1
Регистрация: 29.01.2012
Сообщений: 12
30.01.2012, 13:47  [ТС] 7
Ок, спасибо, почитаю!
0
30.01.2012, 13:47
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.01.2012, 13:47
Помогаю со студенческими работами здесь

Как узнать данные POST запроса в https
Доброго времени суток форумчане. Нужно изъять данные для формирования post запроса. Не шифрованный...

Как в cgi-скрипте получить данные POST-запроса к нему?
В общем и целом, я отправляю данные: import http.client,urllib.parse...

Как отправить данные на сервер через POST запроса Content-Type: application/x-www-form-urlencoded
Есть сайт домен/api/webmaster/v2/addOrder.html?webmasterID=22&token=pass на него по инструкции...

Сериализовать массив для POST запроса
имеется вот такая структура $fields = array( "TITLE"=> "Плановая продажа", ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Преобразование полей (элементов управления содержимым) в обычный текст
РоΜа 23.01.2025
Возникла необходимость преобразовать поля в текст (те, что на вкладке разработчик добавляются) . Помучившись родил следующее: Sub ПоляВТекст() Преобразует все поля в текст (даты, текст,. . .
Как проверить существование директории в скрипте Bash
bt_guru 23.01.2025
При разработке скриптов Bash одной из ключевых задач является корректная работа с файловой системой, где особое место занимает проверка существования директорий. Эта операция становится критически. . .
Как работают срезы (slice) в Python
bytestream 23.01.2025
Python предоставляет разработчикам мощный и гибкий инструмент для работы с последовательностями данных - срезы (slices). Эта функциональность позволяет извлекать, модифицировать и управлять. . .
Как удалить подмодуль (submodule) в Git
bytestream 23.01.2025
При работе с крупными проектами в системе контроля версий Git разработчики часто сталкиваются с необходимостью управления зависимостями и внешними компонентами. Подмодули (submodules) представляют. . .
В чем разница между @staticmethod и @classmethod в Python. Декораторы методов
bytestream 23.01.2025
В Python декораторы методов представляют собой мощный инструмент, позволяющий модифицировать поведение функций и методов без изменения их исходного кода. Эта возможность является одной из. . .
Как преобразовать InputStream в String в Java
bytestream 23.01.2025
В мире Java-разработки работа с потоками данных является одной из ключевых операций при создании современных приложений. InputStream, как фундаментальный класс для обработки входных потоков данных,. . .
Как обновить форк (ответвление) репозитория в Git
bytestream 23.01.2025
Одним из наиболее мощных инструментов Git для организации совместной работы является механизм форкинга репозиториев, который позволяет создавать независимые копии проектов для дальнейшей разработки. . . .
Как работает async/await в C#. Асинхронное программировани­е в .NET
bytestream 23.01.2025
Введение в асинхронное программирование Асинхронное программирование представляет собой важнейшую концепцию современной разработки программного обеспечения, особенно в контексте создания. . .
КуМир: полное руководство
bytestream 23.01.2025
Введение в КуМир: история создания и назначение КуМир (Комплект Учебных МИров) представляет собой образовательную среду программирования, которая была создана для обучения основам алгоритмизации и. . .
Что такое OLAP. Где и как использовать многомерный анализ данных
bytestream 23.01.2025
Введение в OLAP-технологии В современном мире бизнес-аналитика и обработка больших массивов данных играют ключевую роль в принятии стратегических решений. Организации накапливают огромные объемы. . .
MongoDB: что это, для чего нужна и как использовать
bytestream 23.01.2025
Введение в MongoDB: современная документоориентированная СУБД В современном мире разработки программного обеспечения выбор правильной системы управления базами данных является критически важным. . .
Как использовать закрытый ключ шифрования в Git. Шифрование в Git
bytestream 23.01.2025
Установка и настройка закрытых ключей в Git предоставляет дополнительный уровень безопасности для работы с репозиториями. Для начала необходимо создать пару ключей, обычно это осуществляется с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru