![]() |
Помогите передать POST
Нужно передать пост запрос на страницу http://goldtown.ru/admin.php с паролем и именем , делаю так (знаю что КУРЛ РУЛИТ)
как правильно ?? пароль и логин в данном случае не верны ,я это знаю - не работает сам скрипт , пожалуйста помогите <?php //открываем сокет к http://www.example.loc на 80-й порт с таймаутом в 30 секунд $socket = fsockopen('goldtown.ru', 80, $errno, $errstr, 30); //если fsockopen вернула false, то завершаем работу скрипта и выводим текст и номер ошибки if(!$socket)die("$errstr($errno)"); //собираем данные $data = "user_login=admin&&password=pass"; //пишем в сокет метод, URI и протокол fwrite($socket, "POST /admin.php?dispatch=products.manage HTTP/1.1\r\n"); //а также имя хоста fwrite($socket, "Host: goldtown.ru\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,"\r\n"); //теперь передаем данные fwrite($socket,"$data\r\n"); fwrite($socket,"\r\n"); //теперь читаем и выводим ответ $answer = ''; while(!feof($socket)){ $answer.= fgets($socket, 4096); } preg_match("|Location:(\D+)Con|is",$answer,$res); echo $answer[1]; echo file_get_contents("http://goldtown.ru/admin.php?dispatch=auth.login_form&return_url=admi n.php"); echo $answer; //закрываем сокет fclose($socket); ?> |
Перехвати заголовки и посмотри как правильно.
|
PHP код:
|
| Время: 23:09 |