отправляю запрос курлом: PHP: $options = array( CURLOPT_VERBOSE => 1, CURLOPT_POST => 1, // method POST CURLOPT_HEADER => 1, // show headers CURLOPT_NOBODY => 0, // disable body CURLOPT_POSTFIELDS => array( 'mode' => 'login', 'chal' => 'c0:1216468800:2495:300:E7hQqy7D7SSujymYaT2h:b38844ffa11fdf08d87fc4812788a686', 'response' => '', 'user' => 'user', 'password' => 'pass', '_submit' => 'Login', 'remember_me' => 1 ), // post data CURLOPT_FOLLOWLOCATION => 1, CURLOPT_RETURNTRANSFER => 1, // return response CURLOPT_SSL_VERIFYPEER => 0, // verify ssl sertificat CURLOPT_USERAGENT => 'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; MRA 4.9 (build 01863))', CURLOPT_TIMEOUT => 30 ); $process = curl_init('www.site.ru'); curl_setopt_array($process, $options); $return = curl_exec($process); curl_close($process); получаю: всего ОДНА кука. А если отправить через сокеты: PHP: $content = "mode=login&chal=c0:1216468800:2495:300:E7hQqy7D7SSujymYaT2h:b38844ffa11fdf08d87fc4812788a686&response=&"; $content .= "user=user&password=pass&_submit=Login&remember_me=1"; $req = "POST /login.bml?ret=1 HTTP/1.0\r\n"; $req .= "Accept: */*\r\n"; $req .= "Content-Type: application/x-www-form-urlencoded\r\n"; $req .= "Proxy-Connection: Keep-Alive\r\n"; $req .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; MRA 4.9 (build 01863))\r\n"; $req .= "Host: www.livejournal.com\r\n"; $req .= "Content-Length: ".strlen($content)."\r\n"; $req .= "Pragma: no-cache\r\n\r\n"; $req .= $content; $sock = fsockopen("www.livejournal.com", 80, $errno, $errstr, 30); получаю: при этом CURLOPT_FOLLOWLOCATION вообще ничего не решает. ответы сервера разные, сокетам он говорит "document moved here", а курлу - "username not found"
хотя щас выяснилось что если передать не PHP: CURLOPT_POSTFIELDS => array( "mode" => "login", "chal" => "c0:1216468800:2495:300:E7hQqy7D7SSujymYaT2h:b38844ffa11fdf08d87fc4812788a686", "response" => "", "user" => {$user}, "password" => {$password}, "_submit" => "Login", "remember_me" => "1", ), а PHP: CURLOPT_POSTFIELDS => "mode=login&chal=c0:1216468800:2495:300:E7hQqy7D7SSujymYaT2h:b38844ffa11fdf08d87fc4812788a686&response=&user={$user}&password={$password}&_submit=Login&remember_me=1", ответ у курла, такой же как и у сокетов..
эээ а как у меня в другом скрипте работает-то с массивом пост-полей?? сначала юзал curl_set_opt(), потом увидел подсказку что можно всё массивом скинуть а теперь оказывается что массив туда нельзя =\