Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Perl
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2018, 20:35   #11
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы не поверите - так же, как и для гет... через HTTP::Response. Вы хоть доку по модулю по диагонали прочитайте.
p51x вне форума Ответить с цитированием
Старый 08.08.2018, 21:58   #12
mirvam
Форумчанин
 
Регистрация: 03.08.2018
Сообщений: 129
По умолчанию

Вот такая форма
<form method="post" action="?u=usr&p=pswd">Пользователь :
<input name="u" />
<br/>Пароль:
<input name="p" />
<br/>
<input type="hidden" name="file" value="456.png" />Text:
<input name="text">
<br/>
<input type="submit">
</form>

Мне нужно заполнить ее поля и отправить... Код Перл:

$response = $ua->post( $url, [ "u" => $login, "p" => $passw, "text" => $text] );

print $response->content;

Вывод:
Original image file not specified

Мне не понятно еще по поводу <input type="hidden" name="file" value="456.png" />
Я пробовал еще добавлять файл картинку капчи,
[ "u" => $login, "p" => $passw, "file" => $pathToFile, "text" => $text]
но вывод программы тот же.

Последний раз редактировалось mirvam; 08.08.2018 в 22:02.
mirvam вне форума Ответить с цитированием
Старый 08.08.2018, 23:21   #13
mirvam
Форумчанин
 
Регистрация: 03.08.2018
Сообщений: 129
По умолчанию

Вот так правильно?
$response = HTTP::Response->new( $url, [ "u" => $login, "p" => $passw, "text" => $text] );
mirvam вне форума Ответить с цитированием
Старый 09.08.2018, 00:11   #14
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Нет, конечно. Что вы городите? Прочитайте, что возвращает пост.
p51x вне форума Ответить с цитированием
Старый 09.08.2018, 09:33   #15
mirvam
Форумчанин
 
Регистрация: 03.08.2018
Сообщений: 129
По умолчанию

Запускаю:
my $header = ['Content-Type' => 'text/plain; charset=UTF-8'];
my $data = ['u' => $login, 'p' => $pasw, 'text' => $text];
my $request = HTTP::Request->new( 'POST', $url, $data);
my $response = $ua->request($request);

if ($response ->is_success) {
print $response ->decoded_content;
} else {
print STDERR $responseForm->status_line, "\n";
}

Вывод: Original image file not specified
Captcha text not specified

PS в переменной $text хранится код капчи, может оно ругается из-за <input type="hidden" name="file" value="1564.png" /> в форме?

Последний раз редактировалось mirvam; 09.08.2018 в 09:46.
mirvam вне форума Ответить с цитированием
Старый 09.08.2018, 09:52   #16
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Изучите хоть основы HTML и HTTP.
Откройте DevTools в браузере и посмотрите что отправляется.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.08.2018, 09:56   #17
mirvam
Форумчанин
 
Регистрация: 03.08.2018
Сообщений: 129
По умолчанию

Так я не через браузер делаю. Что пользы с того, что я браузер открою?
Попробовал my $data =... (вторая строка) с фигурными скобками вместо квадратных, ругается
Can't call method "clone" on unblessed reference at perl5/lib/perl5/HTTP/Message.pm line 40.

Последний раз редактировалось mirvam; 09.08.2018 в 10:02.
mirvam вне форума Ответить с цитированием
Старый 09.08.2018, 10:05   #18
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Думаете у браузера свой особенный HTTP протокол?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.08.2018, 10:07   #19
mirvam
Форумчанин
 
Регистрация: 03.08.2018
Сообщений: 129
По умолчанию

Я не понимаю вас или вы меня не понимаете. Мое приложение запускается из консоли, браузер я не использую.
Можете подсказать в это поле формы
<input type="hidden" name="file" value="1564.png" />
нужно мне что-то передавать?

Последний раз редактировалось mirvam; 09.08.2018 в 10:10.
mirvam вне форума Ответить с цитированием
Старый 09.08.2018, 10:09   #20
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И?
Если вы используете один и тот же протокол в браузере и приложении, но получаете разный результат, то очевидно, что вы отправляете разные данные.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HTTP Сервер Dkey Помощь студентам 1 01.07.2012 08:25
HTTP сервер Gregor PHP 7 02.01.2012 21:15
http server,http сервер, проблемы с post реализация на java snajper_ro Общие вопросы по Java, Java SE, Kotlin 1 23.10.2011 14:25
HTTP сервер casper0094 Работа с сетью в Delphi 4 07.12.2010 08:53
http-сервер LimanSSk Свободное общение 1 02.03.2009 15:16