HTTPWebRequest Tutorial

10/10/2014 10:12 #Saiirex#1
Hey,

kennt ihr eventuell ein gutes HTPPWebRequest Tutorial? Um sich z.B. irgendwo zu registrieren (z.B. ePvP).

Das ganze bitte für C#.
10/10/2014 10:41 snow#2
Seite 1 der Google Suchergebnisse:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
10/10/2014 10:52 #Saiirex#3
Quote:
Originally Posted by snow View Post
Seite 1 der Google Suchergebnisse:
[Only registered and activated users can see links. Click Here To Register...]
Kein Tutorial
[Only registered and activated users can see links. Click Here To Register...]
Für VB im Thread steht aber C#
[Only registered and activated users can see links. Click Here To Register...]
Für VB im Thread steht aber C#
[Only registered and activated users can see links. Click Here To Register...]
Schaue ich mir an
Wäre nett wenn du das nächste mal auch auf die Links gehst, bevor du die hier postest.
10/10/2014 11:03 tolio#4
vb.net ist quasi c#
die variablen deklaration ist anders rum und es gibt nen paar klammern, desweiteren gibts snippet converter die außer bei exotischen dingen das eine ins andere konvertieren können damit man auch ja seinen kopf kein bischen anstrengen muss

zu deiner anmerkung zum ersten link. ich finde keine worte ohne ausfallend zu werden um deinen satz kommentieren zu können, deswegen einfach die tatsache:
runterscrollen bis "remarks", da steht alles im detail wie es geht, man muss einfach nur die links anklicken um weiterführende informationen inkl nen haufen beispiele zu jeder methode zu bekommen
10/10/2014 11:15 #Saiirex#5
Wieso kann ich denn bei "WebRequest" nur ".Create" und nicht ".CreateHttp" benutzten?
10/10/2014 11:46 YatoDev#6
Quote:
Originally Posted by xKoRe' View Post
Wieso kann ich denn bei "WebRequest" nur ".Create" und nicht ".CreateHttp" benutzten?
benutz .Create das andere kenn ich garnicht. .Create gibt sowieso HttpWebRequest zurück.

EDIT: Du kannst dir auch in anderen sprachen tutorials dazu ansehen solang diese auch die WinHttp.dll nutzen. (autoit zb)

EDIT2: Unter mir
Quote:
Originally Posted by Shadow992 View Post
Die Frage ist genau so sinnvoll wie die Frage:

"Wieso kann ich denn beim Brot-Schneiden nur ein Messer und keine Banane benutzen?"
in seinem tutorial wird das wahrscheinlich benutzt und das ist eventuell veraltet und entfernt

@TE: kannst auch den code benutzen

Code:
public string Post(string URL, string post, CookieContainer cookie)
        {
            try
            {
                HttpWebRequest nRequest = (HttpWebRequest)WebRequest.Create(URL);
                nRequest.Method = "POST";
                nRequest.CookieContainer = cookie;
                nRequest.ContentType = "application/x-www-form-urlencoded";
                Byte[] nByteArray = Encoding.Default.GetBytes(post);
                nRequest.ContentLength = nByteArray.Length;
                Stream nDataStream = nRequest.GetRequestStream();
                nDataStream.Write(nByteArray, 0, nByteArray.Length);
                nDataStream.Close();
                nRequest.KeepAlive = true;
                nRequest.AllowAutoRedirect = true;
                nRequest.PreAuthenticate = true;

                HttpWebResponse nResponse = (HttpWebResponse)nRequest.GetResponse();
                nDataStream = nResponse.GetResponseStream();
                StreamReader nReader = new StreamReader(nDataStream);
                string nServerResponse = nReader.ReadToEnd();
                nReader.Close();
                nDataStream.Close();
                nResponse.Close();

                return nServerResponse;
            }
            catch (Exception ex)
            {
                return ex.ToString();
            }
        }

        //führt einen GET request auf eine website aus
        public string Get(string URL, CookieContainer cookie)
        {
            try
            {
                HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(URL);
                Request.Method = "GET";
                Request.CookieContainer = cookie;
                Request.ContentType = "application/x-www-form-urlencoded";
                Request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

                HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
                Stream DataStream = Response.GetResponseStream();
                StreamReader Reader = new StreamReader(DataStream);
                string ServerResponse = Reader.ReadToEnd();
                Reader.Close();
                DataStream.Close();
                Response.Close();

                return ServerResponse;
            }
            catch (Exception ex)
            {
                return ex.ToString();
            }
        }

        //führt einen POST request mit einem proxy aus
        public string ProxyPost(string URL, string post, CookieContainer cookie, string addr)
        {
            try
            {
                HttpWebRequest nRequest = (HttpWebRequest)WebRequest.Create(URL);
                nRequest.Method = "POST";
                nRequest.CookieContainer = cookie;
                nRequest.ContentType = "application/x-www-form-urlencoded";
                //proxy usage
                WebProxy proxy = new WebProxy();
                Uri uri = new Uri("http://" + addr + "/");
                proxy.Address = uri;
                proxy.Credentials = new NetworkCredential("", "");
                nRequest.Proxy = proxy;

                Byte[] nByteArray = Encoding.Default.GetBytes(post);
                nRequest.ContentLength = nByteArray.Length;
                Stream nDataStream = nRequest.GetRequestStream();
                nDataStream.Write(nByteArray, 0, nByteArray.Length);
                nDataStream.Close();
                nRequest.KeepAlive = true;
                nRequest.AllowAutoRedirect = true;
                nRequest.PreAuthenticate = true;

                HttpWebResponse nResponse = (HttpWebResponse)nRequest.GetResponse();
                nDataStream = nResponse.GetResponseStream();
                StreamReader nReader = new StreamReader(nDataStream);
                string nServerResponse = nReader.ReadToEnd();
                nReader.Close();
                nDataStream.Close();
                nResponse.Close();

                return nServerResponse;
            }
            catch (Exception ex)
            {
                return ex.ToString();
            }
        }

        //führt einen GET request mit einem proxy aus
        public string ProxyGet(string URL, CookieContainer cookie, string addr)
        {
            try
            {
                HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(URL);
                Request.Method = "GET";
                Request.CookieContainer = cookie;
                Request.ContentType = "application/x-www-form-urlencoded";
                //proxy usage
                WebProxy proxy = new WebProxy();
                Uri uri = new Uri("http://" + addr + "/");
                proxy.Address = uri;
                proxy.Credentials = new NetworkCredential("", "");
                Request.Proxy = proxy;

                HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
                Stream DataStream = Response.GetResponseStream();
                StreamReader Reader = new StreamReader(DataStream);
                string ServerResponse = Reader.ReadToEnd();
                Reader.Close();
                DataStream.Close();
                Response.Close();

                return ServerResponse;
            }
            catch (Exception ex)
            {
                return ex.ToString();
            }
        }
10/10/2014 11:48 Shadow992#7
Quote:
Originally Posted by xKoRe' View Post
Wieso kann ich denn bei "WebRequest" nur ".Create" und nicht ".CreateHttp" benutzten?
Die Frage ist genau so sinnvoll wie die Frage:

"Wieso kann ich denn beim Brot-Schneiden nur ein Messer und keine Banane benutzen?"

Ganz einfach scheinbar unterstützt die Klasse kein CreateHttp, sondern nur Create.
Genauso wie die Klasse "Messer" scheinbar die Methode "schneiden()" besitzt und die Klasse "Banane" scheinbar nicht.

Edit:
@Ober mir
Dann soll er sich die Doku anschauen, da steht doch drin was für Methoden unterstützt werden und welche nicht (mehr)
10/10/2014 11:56 #Saiirex#8
Ich hatte .NetFramework 4.0 ausgewählt und da war es noch nicht dabei. Kam erst bei 4.5 rein.
10/10/2014 20:24 snow#9
Quote:
Originally Posted by xKoRe' View Post
Wäre nett wenn du das nächste mal auch auf die Links gehst, bevor du die hier postest.
Erwartest du ein perfekt auf dich zugeschnittenes Tutorial? Dass das zum Teil VB ist, ist mir klar, die APIs sind aber nicht anders und dass du eine Referenz bedienen kannst, habe ich wohl fälschlicherweise angenommen.
10/10/2014 21:15 #Saiirex#10
Quote:
Originally Posted by snow View Post
Erwartest du ein perfekt auf dich zugeschnittenes Tutorial? Dass das zum Teil VB ist, ist mir klar, die APIs sind aber nicht anders und dass du eine Referenz bedienen kannst, habe ich wohl fälschlicherweise angenommen.
Natürlich nicht.. Aber ein Anfänger weiß sowas nicht. Ich hab 1. dieses Jahr meine Ausbildung als FIAE angefangen und mit msdn hatte ich früher nix zu tun.
10/10/2014 22:10 Mostey#11
Quote:
Originally Posted by xKoRe' View Post
Natürlich nicht.. Aber ein Anfänger weiß sowas nicht. Ich hab 1. dieses Jahr meine Ausbildung als FIAE angefangen und mit msdn hatte ich früher nix zu tun.
Anfänger informieren sich normalerweise auch eigenständig darüber und hätten hierbei spätestens gewusst, das VB.Net (man beachte das .Net) genauso wie C# zu den .NET Framework Sprachen zählt und sich hierbei die Schnittstellen teilen.

Um MSDN wirst du übrigens bald nicht mehr herumkommen, ist halt nun mal das Nachschlagewerk für Windows Programmierer. Und für dein Vorhaben brauchst du wirklich keine "Tutorials" - oder anders gesagt: C&P Anleitungen. Du lernst mehr, wenn du dir das Zeug selbst erarbeitest. ;)
10/11/2014 02:18 Terreox#12
Öhm wundert mich eigentlich, warum du diese Frage überhaupt stellst.
Ich habe bereits ein Tutorial über ein ähnliches Thema gemacht, bei dem ich einen automatisierten Login mit HttpWebRequest und C# erklärt habe.
[Only registered and activated users can see links. Click Here To Register...]

... und du hast ein Danke gegeben für dieses Tutorial, von daher gehe ich mal davon aus, dass du es dir angeschaut hast.

Wenn du es nicht ganz geschaut hast, dann kannst du dies ja tun.
Im Prinzip unterscheiden sich Login und Registrierung nicht so extrem, bis auf evtl Captchaabfragen oder sowas spezielles, allerdings kannst du in dem Video schonmal ein paar Sachen lernen.
Den Rest musst du halt zusammensuchen, da wird es kein zugeschnittenes Material geben, aber es gibt ja genug Anleitungen im Netz zu Captchas usw.
10/11/2014 11:45 #Saiirex#13
Quote:
Originally Posted by Terreox View Post
Öhm wundert mich eigentlich, warum du diese Frage überhaupt stellst.
Ich habe bereits ein Tutorial über ein ähnliches Thema gemacht, bei dem ich einen automatisierten Login mit HttpWebRequest und C# erklärt habe.
[Only registered and activated users can see links. Click Here To Register...]

... und du hast ein Danke gegeben für dieses Tutorial, von daher gehe ich mal davon aus, dass du es dir angeschaut hast.

Wenn du es nicht ganz geschaut hast, dann kannst du dies ja tun.
Im Prinzip unterscheiden sich Login und Registrierung nicht so extrem, bis auf evtl Captchaabfragen oder sowas spezielles, allerdings kannst du in dem Video schonmal ein paar Sachen lernen.
Den Rest musst du halt zusammensuchen, da wird es kein zugeschnittenes Material geben, aber es gibt ja genug Anleitungen im Netz zu Captchas usw.
Ja deins hab ich schon gesehen, aber ich wollte auch ein paar Texttutorials, weil ich finde das man da mehr lernt als durch vTuts.
10/11/2014 13:19 Menan#14
Quote:
Originally Posted by xKoRe' View Post
Ja deins hab ich schon gesehen, aber ich wollte auch ein paar Texttutorials, weil ich finde das man da mehr lernt als durch vTuts.
Dann such dir welche.
Es gibt geschätzt eine MILLIONEN Tutorials zu .Net Sprachen, egal ob jetzt C# oder VB...
Wenn man sich deine Threads der letzten Monate in dieser Subsektion anschaut, wirkt es, als sollen wir dir hier alles erklären, angefangen von den simpelsten Dingen, bzw dir den Code für deine Tools schreiben, den du dann Copy & Pasten kannst.

Schau doch mal selber nach Tutorials, gibt ne Suchmaschine die sich Google nennt, dort findet man eigentlich zu allem nen Tutorial und ja, die sind manchmal auf Englisch und man muss sie 2 mal lesen um es zu verstehen, aber du kannst doch auch nicht erwarten, dass wir dir hier alles von Adam und Eva an erklären...

Kauf dir nen Buch, oder schau mal ins Galileo Open Book zu C#, da werden wohl alle Fragen geklärt, der Rest lässt sich durch rumprobieren rausfinden.

BTT:

[Only registered and activated users can see links. Click Here To Register...]

P.S.: Hat mich ca. 20 Sekunden gekostet das zu finden...