Показать полную графическую версию : как передать (не принять!) методом POST данные на др. сервер
Нужно на перле из скрипта передать данные методом пост, т.е. сделать эмуляцию отправки данных формы на чужой сервер. Как это сделать?
Заранее спасибо.
Prisoner
07-08-2003, 22:26
Не знаю как в перле, но есть в PHP функции, а точнее база для них заложена в стандарт html, которые позволяют отправлять заголовки (header), они обычно отправляются в обес тороны - в броузер, на сервер, почему не покопать в эту сторону?
Исправлено: Prisoner, 23:29 7-08-2003
Prisoner
К стандарту html это не имеет никакого отношения.
VART
Нужно почитать RFC на эту тему, а в этом нам поможет гугл. Ну или поискать примеры в сети, их там полно. Или пользовать модeль LWP (http://www.perldoc.com/perl5.8.0/lib/LWP.html). Последний способ предпочтительный, так как наименее трудоёмкий.
Добавлено:
не модель, а модуль конечно.
Prisoner
07-08-2003, 22:55
ivank
имелось ввиду не стандарт написания кода html, а то как общается броузер и сервер - получая/отправляя хидеры и контент...
Prisoner
Я догадался, что это значит http, Но не все же такие умные :) И кстати, заголовки, которые PHP через header отдаёт так и так здесь ни при чём.
Prisoner
08-08-2003, 09:07
ivank
отчего же? "Их можно помыть и примени-и-и-ть" (с) ;)
Kit Tha MAD
14-08-2003, 15:33
А нельзя просто в форме написать action=http://blablabla.ru/script.php?
Vlad Drakula
19-08-2003, 23:18
Kit Tha MAD
нет так написать нельзя :(
Kit Tha MAD
20-08-2003, 09:32
Vlad Drakula
Это тебе кто запретил?
У меня по этой теме тоже вопросик есть, есть форма для заказа товара, как сделать, чтоб введенная инфа приходила мне на мобильник. Тут, как все поняли в передаче переменных на сайт оператора связи, где происходит отправка смс-сообщения..., но тут еще одна загвостка, что у меня два разных оператора, один
мтс, другой жсм... Тут и передача заголовков есть... Подскажите, с чего мне начать, что почитать... Для всех с Уважением...
ZoiaZiber
17-11-2010, 22:45
Подскажите в чем ошибка! Я использую вот такой скрипт для того чтоб переслать в гостевую книгу в фоновом режиме информацию. А она не пересылается и вроде и ошибок то нет. Пробую на сторонней гостевой книге. Спасибо!
<?
flush();
// поля надо заполнить
$signer='Dmitry Borodin';
$url='http://ylta.ru';
$city='Kiev';
$email='repus@yandex.ru'; // <-- номер. (Уверен, что кто-нить не догадается :-)
$comments='привет всем';
$submit='Send Message'; // don't edit
$ref="http://feodosia.su/ping_bord1000.php"; // don't edit
// формирование заголовка
$PostData=
"signer=".urlencode($signer)."&".
"url=".urlencode($url)."&".
"city=".urlencode($city)."&".
"email=".urlencode($email)."&".
"comments=".urlencode($comments)."&".
"submit=".urlencode($submit);
$len=strlen($POSTData);
$nn="\r\n";
$zapros=
"POST / HTTP/1.0".$nn.
"Host: www.guestbook.ru".$nn.
"Referer: http://www.myhost.ru/file-form.php".$nn.
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)".$nn.
"Content-Type: application/x-www-form-urlencoded".$nn.
"Accept: */*".$nn.
"Accept-Encoding: gzip, deflate".$nn.
"Connection: Keep-Alive".$nn.
"Content-Length: $len" ;
//открываем сокет и шлем заголовок
$fp = @fsockopen("http://www.guestbook.ru/?user=yltabest&action=sign", 80, &$errno, &$errstr, 30);
if($fp) { // шлём
@fputs($fp,$zapros);
while (!feof($fp)) {
$len = @fgets($fp, 4096);
$txt=$txt.$len;
$txt=addslashes($txt);
}fclose($fp);
}
?>
$fp = @fsockopen("http://www.guestbook.ru/?user=yltabest&action=sign", 80, &$errno, &$errstr, 30); »
в первом параметре fsockopen (http://docs.php.net/manual/ru/function.fsockopen.php) только хост нужно указывать (guestbook.ru). Остальные параметры в заголовках.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.