Logowanie do strony np: www.facebook.pl

0

11.09.2014r. - 08:11
Gotowe rozwiązanie wstawiam Tutaj, teraz rodzi się pytanie jak podejrzeć ten kod w WebBroswerze ?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Net;
using System.IO;
 
 
namespace PaidVerts
{
    /// <summary>
    /// Logika interakcji dla klasy MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
 
        }
        protected static CookieContainer Login()
        {
            string userName = "xXxxXx";
            string password = "xXxxXx";
 
            ASCIIEncoding encoding = new ASCIIEncoding();
            string postData = "Username=" + userName + "&Password=" + password;
            byte[] postDataBytes = encoding.GetBytes(postData);
 
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://TwójLinkDoStrony.pl");
 
            httpWebRequest.Method = "POST";
            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
            httpWebRequest.ContentLength = postDataBytes.Length;
            httpWebRequest.AllowAutoRedirect = false;
 
            using (var stream = httpWebRequest.GetRequestStream())
            {
                stream.Write(postDataBytes, 0, postDataBytes.Length);
                stream.Close();
            }
 
            var cookieContainer = new CookieContainer();
 
            using (var httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse())
            {
                using (var streamReader = new StreamReader(httpWebResponse.GetResponseStream()))
                {
                    foreach (Cookie cookie in httpWebResponse.Cookies)
                    {
                        cookieContainer.Add(cookie);
                    }
                }
            }
 
            return cookieContainer;
        }
    }
}
 
0

Odświeżam temat próbowałem wszelkie sposoby da się tak zrobić ?

0

A co chcesz zrobić, "podjerzeć kod w WebBrowser" za wiele mi nie mówi.

Jak chcesz w WebBrowserze włączyć fb po zalogowaniu to musisz zsynchronizowac cookies z WebBrowserem.

0

Chciałbym aby rezultat tego kodu a mianowicie czy logowanie przebiegło pomyślnie mógł zobaczyć wizualnie czyli po prostu w webbroswerze.

Teraz jestem na właściwym tropie ale niestety nadal brak rezultatu:

   public partial class WebBrowserControl : MainWindow
        {
            private String url;

            [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
            public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);

            public WebBrowserControl(String path)
            {
                this.url = path;
                InitializeComponent();

                // set cookie
                InternetSetCookie(url, "JSESSIONID", Globals.ThisDocument.sessionID);

                // navigate
                WebBrowser.Navigate("http://www.NazwaTwojejWitryny.pl");
            }

I zwrotny komunikat błędu...

Błąd	1	The name 'Globals' does not exist in the current context	C:\Users\Patrycjusz\documents\visual studio 2013\Projects\PaidVerts\PaidVerts\MainWindow.xaml.cs	85	54	PaidVerts
Błąd	2	An object reference is required for the non-static field, method, or property 'System.Windows.Controls.WebBrowser.Navigate(string)'	C:\Users\Patrycjusz\documents\visual studio 2013\Projects\PaidVerts\PaidVerts\MainWindow.xaml.cs	88	17	PaidVerts

Wiem że błąd jest spowodowany brakiem zmiennej Global. Ale ja nie mam zielonego pojęcia czym zastąpić ją aby program działał poprawnie !

0

a to jak chcesz to zrobic za pomocą webbrowsera to nie lepiej wypelnic inputy programowo i submitnac form'a ?

0

A jak byś chciał to zrobić przyjacielu żebym później miał możliwość, ,,łażenia po stronie" i chciałbym żeby z przycisku startowała funkcja która będzie odpowiedzialna za grę w Kasynie. I to nie musi być za pomocą webbroswera chciałbym po prostu mieć na razie do tego wgląd żebym widział jak to działa później nie będzie to konieczne.

1

wrzucasz kontrolkę na forma a w kodzie np navigate na jakas strone,

to powinno uzupełnić pole:

webBrowser1.Document.GetElementById("navbar_username").InnerText ="Tester";

symulujesz kilknięcie zaloguj:
http://stackoverflow.com/questions/2299273/how-do-i-submit-a-form-inside-a-webbrowser-control

trzeba poszukać, pokombinować. Ale ogolnie lepiej skorzystać z jakiegos silnika przegladarki, jesli chcesz widziec strone. taki webrequest sciagniesz tylko kod strony, bez obrazkow, js itp

0

Dzięki wielkie AL, będę kombinował użyje silnik tak jak mówisz jak będę miał jakieś pytania to będę edytował ewentualnie odświeżę po czasie. Dzięki jeszcze raz.

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