|
|
|
| Есть сайт на который нужно войти под именем и паролем, есть форма входа на ней есть поле "__VIEWSTATE", если заходить как гость указывать пароль и имя не надо... дело в том что если просто создать одноименные поля и заполнить viewstate отправляя форму фходит нормально, но отправляя POST запрос - вылетает ошибка(такая же ошибка вылетает если viewstate ошибочен хотябы на 1 символ) вот мой код
[php]
//БЕРУ viewstate c формы входа
$socket=fsockopen('online.autodoc.ru',80,$errno,$errstr,60);
$query = "GET http://online.autodoc.ru/Web/Pages/LoginForm.aspx HTTP/1.0\r\n\r\n";
//print "fsocketopen";
fwrite($socket,$query);
$s="";
$viewstate="";
while(!feof($socket)) {$s.=fgets($socket);}
$viewstate=stristr($s,"name=\"__VIEWSTATE\" value=\"");
$viewstate=substr($viewstate,26);
$viewstate=substr($viewstate,0,strpos($viewstate,"\""));
print $viewstate;
//ФОРМИРУЮ POST запрос и отправляю...
$post="__VIEWSTATE=".$viewstate."&loginControl:txtLogin=&loginControl:txtPassword=";
$query="POST http://online.autodoc.ru/Web/Pages/LoginForm.aspx HTTP/1.0\r\n".
"Referer: http://online.autodoc.ru/Web/Pages/LoginForm.aspx \r\n".
"User-Agent: Opera/8.50 (Windows NT 5.1; U; ru)\r\n".
"Host: online.autodoc.ru\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($post)."\r\n\r\n".
$post."\r\n\r\n";
print $query;
$socket=fsockopen('online.autodoc.ru',80,$errno,$errstr,60);
//print "fsocketopen";
fwrite($socket,$query);
//print "fwrite";
$z="";
while(!feof($socket)) {$z.=fgets($socket);}
fclose($socket);
echo $z;
[/php]
viewsnane имеет вид: dDwtMjAxOTY4OTk5Nzt0PDtsPGk8MT47aTw zPjtpPDQ+Oz47bDx0PDtsPGk8MT47PjtsPHQ8O2w8aTw wPjs+O2w8dDw7bDxpPDA+Oz47bDx0PHA8bDxpbm5lcmh0bWw
...
...
3B5cmlnaHQgJmNvcHlcOyAyMDA2LTIwMDkg 0JDQstGC0L7QtNC+0LouINCS0YHQtSDQv9GA0LDQstCwINC30LD RidC40YnQtdC90YsuOz4+Oz47Oz47Pj47Pj47bDxsb2dpbkNvbnRyb2w 6Y2hiU2F2ZUNvb2tpZTs+Puuc59WPUPunEOIUy+FfotNo1c5K
Может что-то с "+" не то... не знаю никак не получается авторизоваться | |
|
|
|
|
|
|
|
для: restauto
(25.04.2009 в 14:36)
| | А это ничего, что на той странице JS-средствами проверяется клиент?
Совсем ничего не значит? | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2009 в 15:48)
| | Хм... я тогда не пойму почему просто создавая одноименные элементы в форме и отправляя ее на страницу POST методом входит нормально...??? | |
|
|
|