Текущее время: 26 авг 2025, 01:05

Ручная отправка POST запроса на Perl (PHP)

Разговоры о компьютерах и все что с ними связано, о всех видах телефонов, как со шнурочками, так и без

Модераторы: TR#ll, Модераторы

Ручная отправка POST запроса на Perl (PHP)

Сообщение VitalMax » 29 янв 2010, 16:41

Желательно Perl. Кто знает как?
Content-Type: multipart/form-data;
You'll never walk alone!
VitalMax
Аватара пользователя
Майор
Майор
 
Стаж: 15 лет 10 месяцев 20 дней
Сообщения: 2494
Откуда: Москва
Имя: Максим
Автомобиль: сerato
Поблагодарили: 70 раз.

Re: Ручная отправка POST запроса на Perl (PHP)

Сообщение Serdar1980 » 29 янв 2010, 16:51

#!/usr/bin/perl -w

use LWP;

my $url = 'http://some_url...';
my $browser = LWP::UserAgent->new();

$browser->post($url, {
## содержимое post-запроса
}
);
http://www.opennet.ru/base/dev/perl_lwp.txt.html


в php есть http://docs.php.net/manual/ru/book.curl.php
Майнкрафт ничем не хуже танков и киа-клуба
Serdar1980
Аватара пользователя
Майор
Майор
 
Возраст: 44
Стаж: 18 лет 10 месяцев 16 дней
Сообщения: 1798
Откуда: Москва
Имя: Сергей
Автомобиль: Ssang yong Kyron II
Поблагодарили: 18 раз.
Награды: 5
Золотая звезда III степени (1) Пейнтбольный боец клуба (1) За мужские качества (1) Новогоднее веселье (1) 7 лет Киа-клубу (1)

Re: Ручная отправка POST запроса на Perl (PHP)

Сообщение VitalMax » 29 янв 2010, 16:53

Serdar1980, Это то всё понятно и в этой статье есть то ,что нужно

$response = $browser->post( $url,
[
formkey1 => value1,
formkey2 => value2,
...
],
headerkey1 => value1,
headerkey2 => value2,
);

Точнее проблема заключается в формировании POST запроса. Проанализировав вывод firebug'a никак не удается правильно составить POST запрос и запустить из этого скрипта.
You'll never walk alone!
VitalMax
Аватара пользователя
Майор
Майор
 
Стаж: 15 лет 10 месяцев 20 дней
Сообщения: 2494
Откуда: Москва
Имя: Максим
Автомобиль: сerato
Поблагодарили: 70 раз.

Re: Ручная отправка POST запроса на Perl (PHP)

Сообщение Serdar1980 » 29 янв 2010, 17:08

kezman,
так на сколько понимаю заголовки он прописывает сам..
вы только прописываете что это post и шлете переменые

Добавлено спустя 3 минуты 15 секунд:
попробуй так


#!/usr/bin/perl
use IO::Socket;

$link = 'сервер';
$data = "параметры";

$sock = IO::Socket::INET->new(Proto=>"tcp",PeerAddr=>$link,PeerPort=>80) || die "[-]Can't connect to server'";

print $sock "POST /login HTTP/1.0\r\n";
print $sock "Accept: */*\r\n";
print $sock "Content-Type: application/x-www-form-urlencoded\r\n";
print $sock "Content-Length: ".length($data)."\r\n";
print $sock "Referer: http://mmicrosoft.com\r\n";
print $sock "User-Agent: Internet Explorer 6.0\r\n";
print $sock "Connection:close\r\n\r\n$data";

while (<$sock>)
{
print <$sock>;
}

Добавлено спустя 5 минут 57 секунд:
ну и вот еще


бинарные файлы шифруются методом Base64 (можно и QuotedPrint)
Content-Transfer-Encoding: Base64\r\n

тело должно начинаться с --$bound\r\n, а заканчиваться --$bound\--\r\n. В качестве разделителя используется \r\n--$bound\r\n, а не \r\n-$bound\r\n
Майнкрафт ничем не хуже танков и киа-клуба
Serdar1980
Аватара пользователя
Майор
Майор
 
Возраст: 44
Стаж: 18 лет 10 месяцев 16 дней
Сообщения: 1798
Откуда: Москва
Имя: Сергей
Автомобиль: Ssang yong Kyron II
Поблагодарили: 18 раз.
Награды: 5
Золотая звезда III степени (1) Пейнтбольный боец клуба (1) За мужские качества (1) Новогоднее веселье (1) 7 лет Киа-клубу (1)

Re: Ручная отправка POST запроса на Perl (PHP)

Сообщение VitalMax » 30 янв 2010, 21:13

Тут надо написать сам POST запрос, в конце каждой строчки поставив \r\n?
Serdar1980 писал(а):$data = "параметры";

А если еще нужны куки полученные раньше?
You'll never walk alone!
VitalMax
Аватара пользователя
Майор
Майор
 
Стаж: 15 лет 10 месяцев 20 дней
Сообщения: 2494
Откуда: Москва
Имя: Максим
Автомобиль: сerato
Поблагодарили: 70 раз.


Вернуться в Всё о компьютерах и средствах связи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18