logowanie na strone

0

Witam serdecznie!

Chciałbym zalogować się na stronę www.pinnaclesports.com. Trochę poczytałem i wiem, że musze skorzystać z HttpWebRequest i HttpWebResponse. Problem polega na tym, że nie wiem jak sformuować zapytanie do strony, tak żeby wysłać login i hasło. Fragment źródła strony odpowiedzialny za formularz logowania wygląda następująco:

div id="mainbox">
                    
                    
    <div class="bluebox" style="background: #000066 url('/uploadedImages/GuestSection/HomePage/baseball_bg_1.jpg') no-repeat 343px">
        <div id="login">
	        
            <div id="ctl00_MCPH_LF_LUCP" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'ctl00_MCPH_LF_LB')">
	
        
        <span id="ctl00_MCPH_LF_UNL">Client ID:</span>
        <br />
        <INPUT ID="UserName" maxlength="10" name="ctl00$MCPH$LF$UserName"  class="loginInput" type=text />

        <br />
        
        <span id="ctl00_MCPH_LF_PL">Password:</span><br />
         <INPUT ID="Password" maxlength="10" type=password  name="ctl00$MCPH$LF$Password"  class="loginInput" />
        <br />
        
        <input type="submit" name="ctl00$MCPH$LF$LB" value="Login" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$MCPH$LF$LB&quot;, &quot;&quot;, false, &quot;&quot;, &quot;https://www.pinnaclesports.com/Secure/LoginPage.aspx&quot;, false, false))" id="ctl00_MCPH_LF_LB" />
        <br />
        <ul>
            <li>

                <a class="nav" href="http://www25.pinnaclesports.com/ForgotPasswordV2.asp?language=English&amp;lext=egl" shape="rect" onclick="javascript:window.open(this.href, 'Forgot_Password', 'height=350,width=400,resizable=1,left=300,top=200');return false;">
                    
                    <span id="ctl00_MCPH_LF_FPL">Lost your login details?</span>
                </a>
            </li>
        </ul>
        <INPUT ID="Culture" type="hidden" name="ctl00$MCPH$LF$Culture" value="en-US" />
        <INPUT ID="PriceStyle" type="hidden" name="ctl00$MCPH$LF$PriceStyle" value="american" />
        <INPUT ID="MemberServer" type="hidden" name="ctl00$MCPH$LF$MemberServer" value="www19.pinnaclesports.com" />

        <INPUT ID="SatelliteServer" type="hidden" name="ctl00$MCPH$LF$SatelliteServer" value="IsCentralServer" />
    
</div>

Czy mógł by mi ktoś wytłumaczyć jak powinienem rozwiązać ten problem i na co zwrócić uwagę przy tworzeniu programu.

Pozdrawiam

0

Zalogowałem się do serwera korzystając z takiego kodu:

WebRequest request;
            WebResponse response;
            CookieContainer cookies;
            string login = "******"; //login i haslo nie podane;)
            string pass = "******";
            string VIEWSTATE="/wEPDwULLTEyMjM5MDI4MTYPZBYCZg9kFgRmD2QWBAIFDw8WAh4HVmlzaWJsZWhkZAIHD2QWAmYPFgIeBFRleHQFZzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ki5pIHtiYWNrZ3JvdW5kLWltYWdlOnVybCgvdXBsb2FkZWRJbWFnZXMvR3Vlc3RTZWN0aW9uL2NvbWJpbmVkMjEucG5nKTt9PC9zdHlsZT5kAgEPZBYCAgUPZBYCAgMPZBYEAgMPEGRkFgFmZAIHDxBkZBYBZmRk";
            string prevpage="Yo6vbOldRdbtxozLL2gq6w2";
            Stream DataStream;
            StreamReader reader;
            string posteddata;
            byte[] data;
            string responseFromServer;
            WebClient webClient = new WebClient();


            request = WebRequest.Create("https://www.pinnaclesports.com/Secure/LoginPage.aspx");
            request.Method = "POST";
            posteddata = "__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=" + VIEWSTATE + "&ctl00$MCPH$LF$PriceStyle=american&ctl00$MCPH$UPBF$PSDDL=american&ctl00$MCPH$LF$Culture=en-US&ctl00$MCPH$UPBF$LDDL=en-US&ctl00$MCPH$LF$Password=" + pass + "&ctl00$MCPH$LF$SatelliteServer=IsCentralServer&ctl00$MCPH$LF$LB=Login&ctl00$MCPH$LF$UserName=" + login + "&ctl00$MCPH$LF$MemberServer=www27.pinnaclesports.com&__PREVIOUSPAGE=" + prevpage;
            data = Encoding.UTF8.GetBytes(posteddata);
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = data.Length;
            DataStream = request.GetRequestStream();
            DataStream.Write(data, 0, data.Length);
            DataStream.Close();
            response = request.GetResponse();
            //richTextBox1.AppendText(response.Headers.ToString);
            DataStream = response.GetResponseStream();
            reader = new StreamReader(DataStream);
            responseFromServer= reader.ReadToEnd();
            //richTextBox1.AppendText(responseFromServer);
            reader.Close();
            DataStream.Close();
            response.Close();

Logowanie do bukmachera powiodło się. Nie wiem jednak jak otrzymać liste kursową np. baseballu...
Próba oczytania linka ze strony otrzymanej po zalogowaniu i pobranie zawartości strony pod tym adresem nie skutkuje. Podglądnięcie wykonywanego zapytania w momencie wybory listy kursowej(po prawidłowym zalogowaniu z przeglądarki) przy urzyciu programu HTTPanalyzer wygląda następująco:

[URL=http://img216.imageshack.us/i/pinn.jpg/][IMG]http://img216.imageshack.us/img216/2553/pinn.jpg[/IMG][/URL]

Przesyłany za pomocą cookie login zamazałem. Dodatkowo zauważyłem, że numer przy www.18pinnalcesports.com zmienia się po każdym logowaniu. Do logowania do serwera wykorzystywana jest metoda POST natomiast przy wyborze listy kursowej metoda GET. Skorzystanie z kodu źródłowego jak przy logowaniu z uwzględnieniem zmian parametrów i metody na GET nie daje rezultatu. Kompilator nie chce wysłać takiego zapytania i wyskakuje błąd (gdy zmnienie metode na POST wysyła, ale efekt nie jest zadowalający-nie przechodzi do prawidłowej strony).

Uprzejmie proszę specjalistów o pomoc, bo to wykracza poza moje możliwości.

0

jeszcze raz link do obrazka, bo się źle wrzucił. Przepraszam.

[URL=http://img195.imageshack.us/i/pinn.jpg/][IMG]http://img195.imageshack.us/img195/2553/pinn.jpg[/IMG][/URL]

1 użytkowników online, w tym zalogowanych: 0, gości: 1