verfaa
Профессор
- Регистрация
- 29 Янв 2007
- Сообщения
- 417
- Реакции
- 49
- Автор темы
- #1
Мне нужно отправить на определенный скрипт POST запрос и затем перейти на этот адрес, чтобы был виден результат POST запроса.
С помощью кода ниже я отправляю POST запрос на url. А как сделать чтобы при переходе на файл с этим кодом на заданный url осуществлялся POST-запрос и переход на этот урл? Помогите пожалуйста
С помощью кода ниже я отправляю POST запрос на url. А как сделать чтобы при переходе на файл с этим кодом на заданный url осуществлялся POST-запрос и переход на этот урл? Помогите пожалуйста
Код:
// Отправляем POST запрос с помощью fsockopen()
//открываем сокет к http://www.example.loc на 80-й порт с таймаутом в 30 секунд
$socket = fsockopen($url, 80, $errno, $errstr, 30);
//если fsockopen вернула false, то завершаем работу скрипта и выводим текст и номер ошибки
if(!$socket)die("$errstr($errno)");
//собираем данные
$data = "purse=".urlencode($purse)."&order_id=".urlencode($order_id)."&amount=".urlencode($amount)."&amount=".urlencode($amount)."&description=".urlencode($description)."&sign=".urlencode($sign);
//пишем в сокет метод, URI и протокол
fwrite($socket, "POST ".$uri." HTTP/1.1\r\n");
//а также имя хоста
fwrite($socket, "Host: ".$url."\r\n");
//теперь отправляем заголовки
//Content-type должен быть applicaion/x-www-form-urlencoded
fwrite($socket,"Content-type: application/x-www-form-urlencoded\r\n");
//размер передаваемых данных передаем в заголовке Content-length
fwrite($socket,"Content-length:".strlen($data)."\r\n");
//типы принимаемых данных. */* означает, что принимаем все типы данных
fwrite($socket,"Accept:*/*\r\n");
//представимся оперой
fwrite($socket,"User-agent:Opera 10.00\r\n");
fwrite($socket,"Connection:Close\r\n");
fwrite($socket,"\r\n");
//теперь передаем данные
fwrite($socket,"$data\r\n");
fwrite($socket,"\r\n");
//читаем и выводим ответ (ВМЕСТО этого нужно перейти на $url)
/*
$answer = '';
while(!feof($socket)){
$answer.= fgets($socket, 4096);
}
echo $answer;
*/
//закрываем сокет
fclose($socket);