Привет! Такое дело: на Mybb-шных форумах следующая форма авторизации. HTML: <form id="login" method="post" action="login.php?action=in" onsubmit="return process_form(this)"> <input type="hidden" name="form_sent" value="1" /> <input type="hidden" name="redirect_url" value="index.php" /> <input type="text" name="req_username" size="25" maxlength="25" tabindex="1" /> <input type="password" name="req_password" size="16" maxlength="16" tabindex="2" /> <input type="submit" name="login" value="Войти" tabindex="3" /> </form> Соостветственно, пишу простейший скрипт: PHP: $f=fsockopen("***.mybb.ru",80); fwrite($f,"POST /login.php?action=in&form_sent=1&redirect_url=index.php&req_username=123&req_password=123&login=%C2%EE%E9%F2%E8 HTTP/1.1\r\n"); fwrite($f,"Host: ***.mybb.ru\r\n"); fwrite($f,"Content-length: 0\r\n"); fwrite($f,"Connection: close\r\n"); fwrite($f,"\r\n"); while(!feof($f)) { print(fgets($f))."<br>"; } То есть вроде бы заголовки, которые я посылаю, полностью идентичны форме... Однако ни хрена не проиходит, то есть login.php воспринимает все это дело не так, как подразумевается...
ты забыл о Content-type: application/x-www-form-urlencoded смотри здесь описание и примеры : http://php.net/fsockopen
xPow, спасибо большое! Я понял, что с загловками чушь написал... Вот работающий кусок - авось кому пригодится: PHP: fputs($f,"POST /login.php?action=in HTTP/1.1\r\n"); fputs($f,"Host: svatoslavforum.mybb.ru\r\n"); fputs($f,"Content-type: application/x-www-form-urlencoded\r\n"); fputs($f,"Content-length: ".strlen($poststring)."\r\n"); fputs($f,"Connection: close\r\n"); fputs($f,"\r\n"); fputs($f,"form_sent=1&redirect_url=index.php&req_username=user&req_password=pass&login=".urlencode('Войти')); fputs($f,"\r\n\r\n");