Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос "Как есть". Скопировать и отправить, из любого web дебаггера 
V
    Опции темы
XAKEPEHOK
Дата 20.2.2010, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 18.10.2006
Где: Matrix

Репутация: нет
Всего: 0



Добрый день! Подскажите пожалуйста, можно ли как-то осуществить такое.
Charles (веб-дебаггер) перехватывает запросы. Запрос вида

Код

POST /settings.php HTTP/1.0
User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10
Host: vkontakte.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: remixnews_privacy_filter=0; remixnews_types=214743414; remixgroup_closed_tabs=0; remixap=1; remixchk=5; remixsid=297f525c0821d65379d00d3f616dd0e51dcd7bcb27f5faccd95d
Cookie2: $Version=1
Content-Length: 77
Content-Type: application/x-www-form-urlencoded

hash=ad23693dcb512521f32c4dcbea3a&act=change_nickname&subm=1&nickname=321


Можно ли сделать как-нибудь так, чтобы просто взять все это, скопировать, вставить в мемо и отправить?
Или придется писать парсер?
PM ICQ   Вверх
XAKEPEHOK
  Дата 21.2.2010, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 18.10.2006
Где: Matrix

Репутация: нет
Всего: 0



Решил в общем просто. Написал парсер для необработанных запросов

Код

function returnparam(s,param:string):string;
begin
if (length(s)>length(param)) and (param+' '=copy(s,1,length(param+' ')))
then result:=copy(s,length(param+' ')+1,length(s)-length(param+' '));
end;

function returnparambool(s,param:string):boolean;
begin
result:=false;
if (length(s)>length(param)) and (param+' '=copy(s,1,length(param+' ')))
then result:=true;
end;

procedure post(req:tstrings);
var
list:tstringlist;
i,j:integer;
line,s:string;
begin

for i:=0 to req.Count-1 do
begin
line:=req.Strings[i];
//Устанавливаем нужные параметры idhttp согласно запросу
form1.IdHTTP1.Request.ContentType:=returnparam(line,'Content-Type:');
form1.IdHTTP1.Request.Accept:=returnparam(line,'Accept:');
form1.IdHTTP1.Request.AcceptLanguage:=returnparam(line,'Accept-Language:');
form1.IdHTTP1.Request.AcceptCharSet:=returnparam(line,'Accept-Charset:');
form1.IdHTTP1.Request.AcceptEncoding:=returnparam(line,'Accept-Encoding:');
form1.IdHTTP1.Request.UserAgent:=returnparam(line,'User-Agent:');
if returnparambool(line,'Cookie:')=true then form1.IdHTTP1.Request.CustomHeaders.Add(line);
if returnparambool(line,'Cookie2:')=true then form1.IdHTTP1.Request.CustomHeaders.Add(line);
end;

//превращаем строку с параметрами вида 
//"hash=ad23693dcb512521f32c4dcbea3a&act=change_nickname&subm=1&nickname=321"
//в tstrings, где каждый параметр на новой строке
s:=req.Strings[req.count-1];
s:=stringreplace(s,'&',#13,[rfReplaceAll]);
list:=tstringlist.create;
list.Text:=s;

//ну и шлем запрос
try
form1.IdHTTP1.HandleRedirects:= True;
form1.IdHTTP1.Post('http://vkontakte.ru/settings.php', list);
form1.IdHTTP1.Request.CustomHeaders.Clear;
except end;

end;



Это сообщение отредактировал(а) XAKEPEHOK - 21.2.2010, 20:52
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.3060 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.