Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.19;
Скачать: CL | DM;

Вниз

Как преобразовать POST запрос в GET   Найти похожие ветки 

 
q1Onik   (2008-03-02 11:39) [0]

Здравствуйте.
Столкнулся со следующей проблемой: необходимо сформировать и преобразовать POST запрос в GET и отправить его на сервер. Слышал что php4 и более поздние версии поддерживают возможность обработки POST запросов, отправленных GET-ом.

Get запросы посылаю след. образом:

var Http:TIdHttp;
   s:string;
..........................................
Plink:=send.php?sid=29130f66d777f182c3daf4b26ee96238;
..........................................
Http:=TIdHTTP.Create(IDHttp1);
   Http.Host:=PAddr;
   Http.Port:=80;
   Http.Connect();
   s:=Http.Get("/"+Plink);
   Http.Disconnect;
.........................................


Скрипт и передаваемые ему переменные берутся из составленной предварительно карты сайта. Т.е. просто из тела html странички я выдирал все скрипты, ссылки на них брал из тегов <a href="скрипт и передаваемые в него переменные"></a>

Теперь же потребовалось еще взять и проверить все скрипты из тегов <form></form>
Вот пример:

<form method="post" action="login.php?sid=81f0ea24f354fa6372158507b9ced3f6">

<input class="post" type="text" name="username" size="10" />
<input class="post" type="password" name="password" size="10" maxlength="32" />
<input class="text" type="checkbox" name="autologin" />
<input type="submit" class="mainoption" name="login" value="Вход" />

</form>


Пропарсив все между тегами <form></form> я узнал о таком скрипте как login.php.

Вот суть моей проблемы:
1. Как выглядит POST запрос, отправляемый скрипту в данном примере.
2. Как мне отправить этот запрос к скрипту методам GET


 
Reindeer Moss Eater ©   (2008-03-02 16:50) [1]

в ГЕТэто не влезет.


 
q1Onik   (2008-03-04 10:23) [2]

Хотя бы как в таком случае будет выглядеть посылаемая на сервер строка POST запроса?


 
Reindeer Moss Eater ©   (2008-03-04 10:54) [3]

http заголовок c url и полем content-length. За заголовком тело документа и имена полей.
примерно так.


 
q1Onik   (2008-03-04 11:06) [4]

procedure TForm1.Button1Click(Sender: TObject);
var
S: TStringList;
begin
memo1.Text:= IdHTTP1.Get("/login.php");
S:= TStringList.Create;
S.Add("name=admin");
S.Add("password=qazwsx");
memo1.Text:=IdHTTP1.Post("/login.php", S);
end;

Вот как я пытаюсь отправить пост запрос.

Но зайти с таким запросом не получается.

И в чем здесь ошибка, я толком понять не могу.

Подозреваю, что просто неправильно запрос составил.


 
Reindeer Moss Eater ©   (2008-03-04 11:38) [5]

Помнится там была ошибка, связанная с разделителями полей при использовании TStrings.


 
q1Onik   (2008-03-04 12:21) [6]

Я не мастер сетевого программирования, поэтому на лету мне тяжело понять, что это меняет =(((
Если не трудно помогите куском кода, как запрос будет выглядеть в этом конкретном примере хДД


 
Reindeer Moss Eater ©   (2008-03-04 12:57) [7]

поиграйся с ограничителями строк при вставке в лист. (CRLF и т.д.)
или попробуй грузить пост параметры из файла используя стрим в качестве второго параметра post


 
SpellCaster   (2008-03-12 12:44) [8]

Отправь ПОСТ из браузера и поснифай SmSniffer-ом.

> Слышал что php4 и более поздние версии поддерживают возможность
> обработки POST запросов, отправленных GET-ом

Бред сивой кобылы. Имеется в виду, отправить переменные ПОСТ-запроса через ГЕТ? Так бессмысленно, если скрипт обрабатывает $_POST, там ничего не будет. Возможно, только если скрипт юзает $_REQUEST.



Страницы: 1 вся ветка

Текущий архив: 2009.07.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
2-1243188812
AntonioPermskiy
2009-05-24 22:13
2009.07.19
RXRichEdit вставка данных из нескольких файлов


15-1242376187
oldman
2009-05-15 12:29
2009.07.19
При загрузке ХР не может загрузить "текущий профиль пользователя"


15-1242661994
Игорь
2009-05-18 19:53
2009.07.19
Delphi на русском


15-1242483476
@!!ex
2009-05-16 18:17
2009.07.19
Как сделать Shared секцию в dll на дельфи?


15-1242052982
@!!ex
2009-05-11 18:43
2009.07.19
Как перестать программировать на С++ в Паскаль стиле?