Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите составить http-запрос

336
06 сентября 2003 года
willwin
182 / / 20.09.2000
Нужно составить хттп-запрос. Такой, какой посылает браузер серверу, когда отправляешь файл через форму.. То есть в форме стоит enctype=multipart/form-data и input type=file.
Помогите составить запрос или подскажите какую-нибудь прогу, которая позволит увидеть запрос, посылаемый браузером.. спасибо :)
1.8K
06 сентября 2003 года
2NetFly
132 / / 01.09.2003
Для перла: HTTP::Request::Common.
Если очень хочется увидеть сырой запрос: создаешь объект, заполняешь, и вызываешь метод as_string().
336
07 сентября 2003 года
willwin
182 / / 20.09.2000
Цитата:
Originally posted by 2NetFly
Для перла: HTTP::Request::Common.
Если очень хочется увидеть сырой запрос: создаешь объект, заполняешь, и вызываешь метод as_string().


не, не нужно модулей.. и Perl - не мой конёк :)
надо просто составить запрос.. такой же как браузер составляет. Или прогу найти сниффер..

336
07 сентября 2003 года
willwin
182 / / 20.09.2000
Короче я нашёл структуру запроса.. но что-то не получается :-(

Код:
$zapros =
"POST /test.php HTTP/1.1".$nn.
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)".$nn.
"Host: $host".$nn.
"Referer: $host".$nn.
"Content-type: multipart/form-data, boundary=AaB03x".$nn.
$nn.
"--AaB03x".$nn.
"content-disposition: form-data; name=\"message\"".$nn.
$nn.
"Joe Blow".$nn.
"--AaB03x".$nn.
"Content-disposition: form-data; name=\"file\"; filename=\"file.gif\"".$nn.
"Content-type: image/gif".$nn.
"Content-Transfer-Encoding: binary".$nn.
$nn.
"file".$nn.
"--AaB03x--";

вот такой запрос. Пробовал по-всякому менять-переменять, но всё равно не передаёт переменные в test.php.. Что-то не так :-(
Помогите разобраться плз..
4
07 сентября 2003 года
mike
3.7K / / 01.10.2002
В глаза сразу бросается наличие нескольких HTTP заголовков, это уже не нормально. Кроме того, при HTTP/1.1 обычно используется Chunked encoding. Я не знаю, насколько это обязательно, но думаю что лучше исправить 1.1 на 1.0

И еще, возьми снифер и посмотри заголовки которые отправляет MSIE при аплоаде. Вот и все :)
1.8K
07 сентября 2003 года
2NetFly
132 / / 01.09.2003
name = 'Gisle Aas',
email = 'gisle@aas.no',
gender = 'M',
born = '1964',
init = '/www/home/user/.profile'

Код:
POST http://www.perl.org/survey.cgi
Content-Length: 388
Content-Type: multipart/form-data; boundary="6G+f"
--6G+f
Content-Disposition: form-data; name="name"


Gisle Aas
--6G+f
Content-Disposition: form-data; name="email"

[email]gisle@aas.no[/email]
--6G+f
Content-Disposition: form-data; name="gender"

M
--6G+f
Content-Disposition: form-data; name="born"

1964
--6G+f
Content-Disposition: form-data; name="init"; filename=".profile"
Content-Type: text/plain

PATH=/local/perl/bin:$PATH
export PATH
--6G+f--

(c) perldoc
336
07 сентября 2003 года
willwin
182 / / 20.09.2000
Mike, вот я и просил либо помочь запрос составить, либо сниффер найти.. Ты знаешь какой-нибудь, можешь посоветовать?

2NetFly, у меня в принципе такой же получается запрос, но всё равно не работает. Я пробовал вот такой запрос делать:

Код:
<?php

$zapros=
"POST /test.php HTTP/1.1".$nn.
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)".$nn.
"Host: $host".$nn.
"Referer: $host".$nn.
"Content-Length: $fs".$nn.
"Content-type: application/x-www-form-urlencoded".$nn.$nn.
"message=$file";

?>


Вот так переменная message передавалась в скрипт test.php.
1.8K
07 сентября 2003 года
2NetFly
132 / / 01.09.2003
Примерно, да не такой же. Хотя бы потому, что Content-Length не указан, он работать не должен.

А зачем тебе снифер? Создаешь html файл с формой. В качестве скрипта, который будет обрабатывать форму указываешь свой скрипт, который выводит все, что ему передали (включая заголовки). Получаешь 100% рабочий запрос.
336
07 сентября 2003 года
willwin
182 / / 20.09.2000
Цитата:
Originally posted by 2NetFly
Примерно, да не такой же. Хотя бы потому, что Content-Length не указан, он работать не должен.

А зачем тебе снифер? Создаешь html файл с формой. В качестве скрипта, который будет обрабатывать форму указываешь свой скрипт, который выводит все, что ему передали (включая заголовки). Получаешь 100% рабочий запрос.



эм.. а как бы мне так в пхп-скрипте запрос-то весь вывести? :)

336
08 сентября 2003 года
willwin
182 / / 20.09.2000
спасибо всем, кто принял участие в обсуждении.. всё работает :-)
запрос в итоге вышел такой:
Код:
<?php
$zapros =
"POST /test.php HTTP/1.0".$nn.
"Content-Type: multipart/form-data; boundary=7d3b43bf90".$nn.
"Content-length: 37232".$nn.
"Host: $host".$nn.
"Referer: http://diget/".$nn.$nn.
"--7d3b43bf90".$nn.
"Content-Disposition: form-data; name=\"var\"".$nn.$nn.
"value".$nn.
"--7d3b43bf90".$nn.
"Content-Disposition: form-data; name=\"file\"; filename=\"file.gif\"".$nn.
"Content-Type: image/gif".$nn.$nn.
"$pic".$nn.
"--7d3b43bf90--".$nn.
?>
4
08 сентября 2003 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by willwin
Mike, вот я и просил либо помочь запрос составить, либо сниффер найти.. Ты знаешь какой-нибудь, можешь посоветовать?



Для таких целей подойдет NGSniff. Никаких установок мал и прост.

250
08 сентября 2003 года
Joker
1.4K / / 20.02.2000
Цитата:
Originally posted by mike


Для таких целей подойдет NGSniff. Никаких установок мал и прост.


Ого мой авп так разорался.. что типа это вирь.. :)
Но что то я так и не научился его юзать, если дать команду --file log.txt фаил всегда пуст..

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог