Нужно передать пост запрос на страницу 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: <?php function post($host, $script, $cont){ $respons=""; $postsock = fsockopen($host, 80, $errno, $errstr, 60); if (!$postsock) echo $errstr($errno); else { $head = "POST $script HTTP/1.1\r\n"; $head .= "Host: $host\r\n"; $head .= "Connection: close\r\n"; $head .= "Content-Type: application/x-www-form-urlencoded\r\n"; $head .= "Content-Length: " .strlen($cont). "\r\n"; $head .= "\r\n$cont\r\n"; fwrite($postsock, $head); while(!feof($postsock)){ $respons .= fgets($postsock, 1024); } fclose($postsock); } return $respons; } echo post('goldtown.ru', '/admin.php', 'user_login=admin&&password=pass');