Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];

Вниз

Как преобразовать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
15-1242388304
Palladin
2009-05-15 15:51
2009.07.19
Враппер к WinHTTP.dll


2-1243267748
const
2009-05-25 20:09
2009.07.19
Цвет формы и кнопок на WinApi


15-1242592205
Юрий
2009-05-18 00:30
2009.07.19
С днем рождения ! 18 мая 2009 понедельник


2-1243252264
Light-blr
2009-05-25 15:51
2009.07.19
Image не меняет размеров


15-1242678602
Юрий
2009-05-19 00:30
2009.07.19
С днем рождения ! 19 мая 2009 вторник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский