Войдите на сайт Flash с помощью httprequest - PullRequest
0 голосов
/ 11 августа 2011

Я пытаюсь зайти на сайт Flash с помощью ASP.NET C # httprequest .... Я использую Firebug и отладочный адрес для входа и нашел: http://sechiakhoanhkhac.com/live/data.php?mod=member&act=login

и мой код здесь:

string UrlDangNhap = "http://sechiakhoanhkhac.com/live/data.php?mod=member&act=login";
            //password=123456&email=dmsang -- password=123456&email=sangdeptrai
            string username="sangdeptrai";
            string strPostDataDangNhap = String.Format("password=123456&email={0}",username);              
            //Create Cookie to keep Login status
            CookieContainer cookies = new CookieContainer();
            HttpWebRequest wrDangNhap = WebRequest.Create(UrlDangNhap) as
            HttpWebRequest;
            wrDangNhap.Method = "POST";
            wrDangNhap.ContentLength = strPostDataDangNhap.Length;
            wrDangNhap.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            wrDangNhap.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1";
            wrDangNhap.ContentType = "application/x-www-form-urlencoded";
            wrDangNhap.KeepAlive = true;
            wrDangNhap.CookieContainer = cookies;

            StreamWriter swDangNhap = new StreamWriter(wrDangNhap.GetRequestStream());
            swDangNhap.Write(strPostDataDangNhap);
            swDangNhap.Close();

// делать что-то после входа в систему

что код неправильный или правильный?потому что я не могу войти и не знаю, когда я войду в систему или нет ... потому что это флэш-сайт, поэтому мы можем получить ответ на проверку ...

1 Ответ

0 голосов
/ 11 августа 2011

Веб-сервису необходимо установить поле "Referer", например:

wrDangNhap.Referer = "http://sechiakhoanhkhac.com/live/main.swf"

Служба вернет следующий ответ в теле сообщения (которое выглядит как имя пользователя и идентификатор):

sangdeptrai,46104

Дополнительная информация: я использовал fiddler для проверки запроса и ответа при входе в систему. Полный запрос выглядит так:

POST http://sechiakhoanhkhac.com/live/data.php?mod=member&act=login HTTP/1.1
Host: sechiakhoanhkhac.com
Connection: keep-alive
Referer: http://sechiakhoanhkhac.com/live/main.swf
Content-Length: 33
Origin: http://sechiakhoanhkhac.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1
content-type: application/x-www-form-urlencoded
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

password=123456&email=sangdeptrai

Распакованный ответ выглядит следующим образом:

HTTP/1.1 200 OK
Date: Thu, 11 Aug 2011 08:01:10 GMT
Content-Length: 17
Content-Type: text/html
Expires: Thu, 11 Aug 2011 08:01:10 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Server: Apache/2
X-Powered-By: PHP/5.2.17
Pragma: no-cache
Powered-by: Framework 1.0
Visited: www.phpbasic.com
Vary: Accept-Encoding,User-Agent

sangdeptrai,46104
...