Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 14:09

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[VB.NET] HttpWebRequest - Tutorial

Discussion on [VB.NET] HttpWebRequest - Tutorial within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old 07/21/2013, 16:53   #76
 
elite*gold: 159
Join Date: Jun 2013
Posts: 1,776
Received Thanks: 2,004
Quote:
Originally Posted by Kabal931 View Post
Gibt es so ein tut auch für c# ?
steht eigentlich alles in msdn
Brendan Jordan is offline  
Old 07/21/2013, 16:56   #77
 
elite*gold: 5
Join Date: Jul 2013
Posts: 227
Received Thanks: 5
Quote:
Originally Posted by M3BF05B View Post
steht eigentlich alles in msdn
Ich verstehe aber nicht wie ich da das pw eingeben soll
Kabal931 is offline  
Old 07/22/2013, 13:35   #78
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Quote:
Originally Posted by Kabal931 View Post
Gibt es so ein tut auch für c# ?
Von mir nicht. Kannst ja aber nen Online-Converter benutzen, wie zB diesen:
Kraizy​ is offline  
Old 08/23/2013, 11:31   #79
 
elite*gold: 0
Join Date: Aug 2013
Posts: 1
Received Thanks: 0
Tolles Tutorial!
Ich habe mal ein anderes Problem. Wie ist es möglich festzustellen ob eine Anfrage von einem realen Browser (z.B. Firefox) kommt oder ob der Request von einem Programm stammt.
Ich habe da eine Webseite die mir ständig 404 meldet obwohl ich den UserAgent-Parameter exakt an die Version von Firefox angepasst habe.

Ziel meiner Anwendung ist es einen EAN-Code an die Seite zu übergeben und im Quell-Code eine Produktbeschreibung zurück zu bekommen.

Link:

Die Ziffer ist der übergebene EAN-Code.

Per Firefox kein Problem mit VB.NET ständig die 404 (Webseite nicht gefunden).
yasaya5000 is offline  
Old 08/30/2013, 12:07   #80
 
кυяαмα's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 57
Received Thanks: 17
Quote:
Originally Posted by Sedrika View Post
Dann sendest du 2 Post messages.
Einmal mit dem Login und einmal das mit der Sicherheit. UNd wenn ein Captcha da ist, lies ihn in eine PictureBox ein und lass den User das manuell eingeben. Danach machst du normal weiter.
kannst du das mal bitte genauer erklären? wenn ich die loginseite lade alles auslese und dann ein request abschicke geht das nicht?

wie soll es dann mit 2 requests klappen?
кυяαмα is offline  
Old 08/30/2013, 12:30   #81
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Quote:
Originally Posted by кυяαмα View Post
kannst du das mal bitte genauer erklären? wenn ich die loginseite lade alles auslese und dann ein request abschicke geht das nicht?

wie soll es dann mit 2 requests klappen?

Bin grad am Handy, deswegen kann ich dir nur nen kleinen Beispiel-Code zeigen, wie es mit der Http-Klasse funktionieren würde:

PHP Code:
With New Http
     
//login url aufrufen
     
Dim html As String = .GetResponse("login-url")

     
//daten auslesen, die für den login nötig sind (ist nur ein Beispiel)
     
Dim token1 As String //entweder mit SubString/Split oder RegEx das Nötige aus der Variable "html" auslesen
     
Dim token2 As String //hier genau das gleiche

     //post request abschicken
     
Dim post As String "tkn1=" token1 "&tkn2=" token2
     html 
= .GetResponse("post login-url"post)

     
//prüfen ob login erfolgreich war, indem du prüfst, ob die Variable "html" irgendwas enthält, was drauf schließen lässt, dass man eingeloggt ist. Alternative (die bessere/sichere Methode) wäre eben die Cookies zu prüfen
End With 
Kraizy​ is offline  
Thanks
1 User
Old 08/30/2013, 13:27   #82
 
кυяαмα's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 57
Received Thanks: 17
Quote:
Originally Posted by Kraizy​ View Post
Bin grad am Handy, deswegen kann ich dir nur nen kleinen Beispiel-Code zeigen, wie es mit der Http-Klasse funktionieren würde:

PHP Code:
With New Http
     
//login url aufrufen
     
Dim html As String = .GetResponse("login-url")

     
//daten auslesen, die für den login nötig sind (ist nur ein Beispiel)
     
Dim token1 As String //entweder mit SubString/Split oder RegEx das Nötige aus der Variable "html" auslesen
     
Dim token2 As String //hier genau das gleiche

     //post request abschicken
     
Dim post As String "tkn1=" token1 "&tkn2=" token2
     html 
= .GetResponse("post login-url"post)

     
//prüfen ob login erfolgreich war, indem du prüfst, ob die Variable "html" irgendwas enthält, was drauf schließen lässt, dass man eingeloggt ist. Alternative (die bessere/sichere Methode) wäre eben die Cookies zu prüfen
End With 
jop und genauso hab ich es auch mal probiert, jedoch hat es nicht beim captcha geklappt, da er bei "html = .GetResponse("post login-url", post)"

die seite neu geladen hat und das captcha somit ungültig war, kann auch sein das ich da ein tippfehler hatte, jedoch hatte ich das 2 mal gecheckt

und über regex wurden die werte auch richtig ausgelesen...
кυяαмα is offline  
Old 08/30/2013, 13:52   #83
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Kannst du mal die Seite hier posten?
Kraizy​ is offline  
Thanks
1 User
Old 08/30/2013, 14:00   #84
 
кυяαмα's Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 57
Received Thanks: 17
Quote:
Originally Posted by Kraizy​ View Post
Kannst du mal die Seite hier posten?
da kann man jede seite als vergleich nehmen die ein captcha hat. als beispiel nimm doch einfach die regipage von epvpers oder einach

baut alles auf selbe auf, wie schon gesagt wenn er bei mir das postrequest abschickt lädt er neu und ein captcha ist ungültig, so wie ich das mitbekomen habe
кυяαмα is offline  
Old 08/30/2013, 14:57   #85
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Naja eigentlich ist es ziemlich simpel.
  • GET-Request an schicken
  • Die Captcha URL (ändert sich natürlich immer) aus dem Quelltext auslesen (z.B. )
  • GET-Request an diese URL senden
  • Aus dem Quelltext den "challenge" Wert nach dem Doppelpunkt auslesen (und die ' entfernen):
    PHP Code:
    challenge '03AHJ_VutqsCxrnfcBlXgHbA7oQcsvXdsFzB6oo9-R1KaQjv0A6IMwHqmmtrbBoujPCrXZQnNA84anKrWXXUDBQIEAp9fUwJQ7-1_78Mg0O2CfalUAv5dhUJDkleKm60cndJzQ2LfMSrQ7cTCw-8vwq1NhtyVEes53KBRYkMD2NUNrdRuk4lSJQtw' 
  • Diesen Wert beim POST-Request mitübergeben (siehst du ja in LiveHttpHeaders).
Um das Captcha z.B. in einer PictureBox anzuzeigen, liest du einfach den Response-Stream aus:
PHP Code:
//Funktion:
Public Function GetResponseStream(ByVal url As String) As Stream
   request 
CType(HttpWebRequest.Create(url), HttpWebRequest)
   
request.CookieContainer cookieCon
   response 
CType(request.GetResponse(), HttpWebResponse)

   Return 
response.GetResponseStream()
End Function

//Aufruf:
PictureBox.Image Image.FromStream(.GetResponseStream("https://www.google.com/recaptcha/api/image?c=" challengeToken))
//challengeToken ist der Wert nach dem Doppelpunkt weiter oben in diesem Beitrag 
Würde dann in etwa so aussehen (ist schnell und eher unschön gemacht, aber naja..)
PHP Code:
With New Http
   Dim html 
As String = .GetResponse("http://www.hidemyass.com/anonymous-email/")
   
Dim captchaURL As String html.Substring(html.IndexOf("https://www.google.com/recaptcha/api/challenge?k=")).Split(""""c)(0)

   
html = .GetResponse(captchaURL)

   
Dim captchaToken As String html.Substring(html.IndexOf("challenge")).Split("'"c)(1)
   
PictureBox.Image Image.FromStream(.GetResponseStream("https://www.google.com/recaptcha/api/image?c=" captchaToken))

   
//POST zusammensetzen und abschicken. Solltest du wohl selbst schaffen
End With 
Hast nun sogar C&P-Code bekommen, jedoch hoffe ich, dass du daraus auch lernst und nicht einfach nur stur kopierst und einfügst.
Kraizy​ is offline  
Thanks
1 User
Old 01/11/2014, 00:30   #86
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,354
Received Thanks: 280
Super Tutorial ,danke
Twist' is offline  
Old 01/11/2014, 05:11   #87
 
Zero-_-Cool's Avatar
 
elite*gold: 0
Join Date: Jan 2014
Posts: 5
Received Thanks: 1
Erst einmal: Super Tutorial. VIELEN DANK!

Ich erhalte nur leider (login anfrage an epvp) immer wieder die nachricht, dass ich nicht eingeloggt bin. Warum weiss ich leider nicht. Werde es mal bei einer anderen Seite versuchen.

Und eine Frage ist mir noch in den Sinn gekommen: Kann ich die "erhaltenen" Cookies jetzt eigentlich an den, bzw einen, normalen WebBrowser übergeben? Wenn ja, wie wäre dies möglich. (Das Steuerelement 'WebBrowser')


P.S.: Ja ich weiß, dieser Thread ist älter, doch ist er der einzige seiner Art und ich wollte keinen neuen eröffnen.
Zero-_-Cool is offline  
Old 01/11/2014, 10:53   #88
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
Quote:
Originally Posted by Zero-_-Cool View Post
Erst einmal: Super Tutorial. VIELEN DANK!

Ich erhalte nur leider (login anfrage an epvp) immer wieder die nachricht, dass ich nicht eingeloggt bin. Warum weiss ich leider nicht. Werde es mal bei einer anderen Seite versuchen.

Und eine Frage ist mir noch in den Sinn gekommen: Kann ich die "erhaltenen" Cookies jetzt eigentlich an den, bzw einen, normalen WebBrowser übergeben? Wenn ja, wie wäre dies möglich. (Das Steuerelement 'WebBrowser')


P.S.: Ja ich weiß, dieser Thread ist älter, doch ist er der einzige seiner Art und ich wollte keinen neuen eröffnen.
1. Versuchs mal mit

PHP Code:
Dim byteArr() As Byte Encoding.GetEncoding("iso-8859-1").GetBytes(post
2. Bin mir nicht sicher, da ich grad am Handy bin und es nicht testen kann, aber probier mal sowas in der Art

PHP Code:
WebBrowser.Document.Cookie request.CookieContainer.GetCookies(url
Ansonsten einfach mal googlen.

Edit: Oder schau dir mal Beitrag #4 an in folgendem Link:
Kraizy​ is offline  
Thanks
1 User
Old 01/11/2014, 11:38   #89
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Um noch etwas kleines hinzuzufügen, Live HTTP Headers wird nicht gebraucht.
Man kann stattdessen auf die Network Tools von den Browsern zurückgreifen.
Chrome z.B. F12 un dann auf Network, der schneidet auch Pakete mit.
FF sowie IE bieten selbe Funktionen ohne Addon.
alpines is offline  
Old 01/11/2014, 11:49   #90
 
Zero-_-Cool's Avatar
 
elite*gold: 0
Join Date: Jan 2014
Posts: 5
Received Thanks: 1
RIEEESEN EDIT :

Ich habe es nun nach erneutem überprüfen des gesamten Codes endlich geschafft meinen unsäglichen Fehler zu finden. Die Lange und sehr lange (vllt war sie sogar länger), hat mich dazu verleitet, eine komplette Zeile des von dir genannten Posts#4:
Quote:
Edit: Oder schau dir mal Beitrag #4 an in folgendem Link:
zu überspringen, ja gar von dem Monitor verschwinden zu lassen.. Ich saß nämlich geschätzte 5 Minuten an diesen paar Zeilen, doch diese Zeile ist mir nicht eine Sekunde lang bewusst gewesen...Diese:
Quote:
webBrowser1.DocumentStream = response.GetResponseStream();
Richtig übersetzt xD:
Quote:
WebBrowser1.DocumentStream = response.GetResponseStream
Eingefügt und das Problem mit den Cookies war erledigt.
So nun habe ich es geschafft, den HTTPRequest durchzuführen und das ganze an den WebBrowser1 zu übergeben. Mitsamt Cookie(s). Als ich dies nun testete, kam auch schon die nächste überraschung: Die anmeldung klappte, auch wenn diese If-Schleife die ich verwendete (wie eig zu erwarten) richtig funktionierte, mir jedoch immer einzureden versuchte, das irgendetwas schief gelaufen sei... Weil "Abmelden" nun einmal nicht auf der "Danke fürs einloggen"-Seite steht -.- But I DID IT!
Quote:
If html.Contains("Abmelden") Then
MessageBox.Show("logged in")

Else
MessageBox.Show("something went wrong")
End If


So diese abgeändert und taddaaaa... man man man..

ENDLICH KLAPPT ALLES!!!
Danke nochmals für die Hilfe!!! Schlafen ist wichtiger als so mancher denkt..
Ich lass den 'alten' Teil meines Posts aber (vorerst) noch da, weil ich meine unfähigkeit witzig finde und dies gerne zur Schau stelle, wenn es doch schon einmal da ist. (Falls nicht erwünscht bitte wegmachen/Ich mache dies sonst nach Aufforderung (gern). Danke fürs Lesen!



Sozusagen 'alter' Post:



Soo, neues Problem, neuer Post..
Wie gesagt kann ich mich erfolgreich einloggen und dies zuerst an den WebBrowser übergeben. Allerdings nur bis zur ersten "Thank you[...]" Seite, von welcher man dann weitergeleitet wird. Der WebBrowser verliert dann aber anscheinend die Cookies(oder ists nur eines(einer?)?) und mir wird ganz normal die "standart" epvpers Seite angezeigt.. Fragen über fragen.
Bitte helft mir ein wenig.
Zero-_-Cool is offline  
Reply


Similar Threads Similar Threads
HttpWebRequest C# Browsergame Bot
12/07/2017 - .NET Languages - 4 Replies
Hi, i have the following problem and it would be great if s.o. could help me. I try to write a simple bot for a browsergame which uses the HttpWebRequest and Response classes from C#. Currently i try to log in with the following script but i only get back to the login page. When i try to catch a site for logged in members only i also only get the login page. There has to be a problem with the cookie but i don't know where :( class HttpHelper { private CookieContainer...
c# httpwebrequest Travian
12/07/2017 - .NET Languages - 2 Replies
Gude Leute ich hätt da mal ein anliegen ich will mir ein kleines Tool zur vereinfachten bedinung von Travian schreiben nur leider bekomme ich das irgendwie nicht auf die Reihe. da mein Code nicht so recht funktioniert hat habe ich mir den code von jemand anderes mal geklaut aber der ergibt das gleiche problem. Das Probleme ist er zeigt die Seite nicht richtig an und er baut keine truppen wenn ich auf Button1 click. wenn mir einer das vielleicht mal flicken könnte oder mir erklären...
[C#]Mit HttpWebRequest auf Seite einloggen.
12/07/2017 - .NET Languages - 2 Replies
Hallo, Ich möchte mich gerne über ein Kleines Programm mit 2 Eingabefeldern und einem Login Button auf einer Seite einloggen. Mein Ziel ist es, nach dem Login die Cookies auslesen zu können, da dort für mich wichtige Infos gespeichert werden ;) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;
[TUTORIAL] Starter friendly tutorial to searching for Nuke casting time [TUTORIAL]
02/09/2011 - 9Dragons - 12 Replies
If you already have Cheat Engine and know how to use it, skip to part 4 of the tutorial. 1. Introduction This forum has helped me quite a bit, so I decided to give something back :) Now I've noticed there are quite a few who ask for nuke casting time hacks / address', and I've also noticed, that there are quite a few who are REALLY annoyed with these questions, so I decided to write this so both sides can benefit from it. 2. Getting started First off, you need to have Cheat Engine...
[C#]MD5-Cheksumme mit HttpWebRequest oä
08/18/2010 - .NET Languages - 1 Replies
Ich will mir mal einen gescheiten Patcher für Metin2 machen.. Jetzt soll er von den Files auf meinem Server die Checksummen ausspucken. Die Datei sollte nicht heruntergeladen werden... System.IO.FileStream FileCheck = System.IO.File.OpenRead(Dateipfad); System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvi der(); byte md5Hash = md5.ComputeHash(FileCheck);



All times are GMT +1. The time now is 14:09.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.