Buffalon
10.04.2010, 19:42
Нужно передать пост запрос на страницу 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=admin.php");
echo $answer;
//закрываем сокет
fclose($socket);
?>
как правильно ??
пароль и логин в данном случае не верны ,я это знаю - не работает сам скрипт , пожалуйста помогите
<?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=admin.php");
echo $answer;
//закрываем сокет
fclose($socket);
?>