|
You last visited: Today at 05:48
Advertisement
Webrequest Frage
Discussion on Webrequest Frage within the .NET Languages forum part of the Coders Den category.
02/17/2013, 16:52
|
#1
|
elite*gold: 67
Join Date: Aug 2012
Posts: 188
Received Thanks: 18
|
Webrequest Frage
Hey,
ich bin relativ erfahren was visual basic angeht, aber hab noch nie mit httpwebrequest gearbeitet und hoffe, dass ich hier hilfe finde.
Was ich machen will
Mich auf der Paypalseite einloggen
Was mein Problem ist
Code:
Dim Request As HttpWebRequest = CType(WebRequest.Create("X"), HttpWebRequest)
X sollte ja der Link zum login sein, aber wie bekomme ich den, wenn ich auf den loginbutton keinen rechtsklick machen kann ?
Danke im Voraus
|
|
|
02/17/2013, 17:03
|
#2
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|

Wenn du Firefox nutzt, dann hol dir LiveHttpHeaders, bei Chrome z.B. ist das schon integriert, ich glaub das war STRG+ALT+I.
|
|
|
02/17/2013, 17:17
|
#3
|
elite*gold: 67
Join Date: Aug 2012
Posts: 188
Received Thanks: 18
|
Danke, aber kannst du mir helfen ?
Bekomm ein ERROR 404 zurück
Code:
Dim Request As HttpWebRequest = CType(WebRequest.Create("https://www.paypal.com/de/cgi-bin/we...=_login-submit"), HttpWebRequest)
Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"
Dim Post As String = "csrfModel.returnedCsrf=uTE1yH6jECK3jUNh-mbdN-zyFrQ7uLDR7yhORi5n3dcARoeE7vzo2pGwmMn1JwaHeZ4tu0qZ2GL13HgxysNPyZ76_YseZaZjm2on7fQqxrkF27eE&login_email=" & User & "&login_password=" & Pwd & "&submit.x=Einloggen&browser_name=Firefox&browser_version=18&browser_version_full=18.0&operating_system=Windows&bp_mid=v%3D1%3Ba1%3Dna%7Ea2%3Dna%7Ea3%3Dna%7Ea4%3DMozilla%7Ea5%3DNetscape%7Ea6%3D5.0+%28Windows%29%7Ea7%3Dna%7Ea8%3Dna%7Ea9%3Dtrue%7Ea10%3Dna%7Ea11%3Dtrue%7Ea12%3DWin32%7Ea13%3Dna%7Ea14%3DMozilla%2F5.0+%28Windows+NT+6.1%3B+rv%3A18.0%29+Gecko%2F20100101+Firefox%2F18.0%7Ea15%3Dfalse%7Ea16%3Dna%7Ea17%3Dna%7Ea18%3Dwww.paypal.com%7Ea19%3Dna%7Ea20%3Dna%7Ea21%3Dna%7Ea22%3Dna%7Ea23%3D1920%7Ea24%3D1080%7Ea25%3D24%7Ea26%3D1040%7Ea27%3Dna%7Ea28%3Dna%7Ea29%3Dna%7Ea30%3Dna%7Ea31%3Dna%7Ea32%3Dna%7Ea33%3Dna%7Ea34%3Dna%7Ea35%3Dna%7Ea36%3Dna%7Ea37%3Dna%7Ea38%3Dna%7Ea39%3Dna%7Ea40%3Dna%7Ea41%3Dna%7Ea42%3Dna%7E&bp_ks1=v%3D1%3Bl%3D8%3BDi0%3A8876Di1%3A112Ui0%3A8Di2%3A174Ui1%3A75Ui2%3A51Di3%3A29Di4%3A102Ui3%3A87Ui4%3A65Di5%3A25Ui5%"
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
Request.ContentLength = byteArray.Length
Dim DataStream As Stream = Request.GetRequestStream()
DataStream.Write(byteArray, 0, byteArray.Length)
DataStream.Close()
Dim Response As HttpWebResponse = Request.GetResponse()
DataStream = Response.GetResponseStream()
Dim reader As New StreamReader(DataStream)
Dim ServerResponse As String = reader.ReadToEnd()
reader.Close()
DataStream.Close()
Response.Close()
If InStr(ServerResponse, "Wenn diese") Then
MessageBox.Show("Login OK")
Else
MessageBox.Show("Login nicht OK")
End If
|
|
|
02/17/2013, 17:20
|
#4
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Ist doch logisch dass csrfModel.returnedCsrf=... usw immer neu generiert werden muss
|
|
|
02/17/2013, 17:21
|
#5
|
elite*gold: 67
Join Date: Aug 2012
Posts: 188
Received Thanks: 18
|
kannst mir einen anhaltspubkt geben wie ich das immer neu generiere ?
|
|
|
02/17/2013, 19:11
|
#6
|
elite*gold: 14
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
|
GET Request an die Seite und dann den Source-Code parsen.
|
|
|
02/17/2013, 19:35
|
#7
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Entweder stehen die Werte direkt im Quelltext, oder werden intern durch JavaScript o.ä. generiert (was das ganze normalerweise komplizierter macht).
Aber vom Namen her (returnedCsrf) würde ich auf letzteres tippen.
P.S. du solltest den Link schon richtig kopieren, bei dir ist er nämlich durch .. abgekürzt, das erklärt wohl auch 404 not found
|
|
|
02/18/2013, 09:55
|
#8
|
elite*gold: 67
Join Date: Aug 2012
Posts: 188
Received Thanks: 18
|
Danke für eure Hilfe !
Habs nun hinbekommen den Key immer neu zu generieren (steht im source) nun hab ich aber ein Problem, wenn ich mich einlogge, uns auf "Einloggen..." überprüfe sagt er mir immer, dass das einloggen erfolgreich war egal ob mit richtige daten oder komplet sinnlosen...
was kann das sein ?
|
|
|
02/18/2013, 12:04
|
#9
|
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
|
Quote:
|
If InStr(ServerResponse, "Wenn diese") Then
|
Quote:
|
Returns an integer specifying the start position of the first occurrence of one string within another.
|
|
|
|
02/18/2013, 12:51
|
#10
|
elite*gold: 67
Join Date: Aug 2012
Posts: 188
Received Thanks: 18
|
ich hab mir beide responses in eine datei schreiben lassen (mit richtigen daten und mit falschen daten) und die dateien waren identisch ...
|
|
|
02/18/2013, 16:43
|
#11
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
kann nicht sein, schau dir die responses bei nem haltepunkt im html vorschau ding an und überprüfe das mal
|
|
|
02/19/2013, 08:13
|
#12
|
elite*gold: 67
Join Date: Aug 2012
Posts: 188
Received Thanks: 18
|
So hab mir mal die Klasse von Kraizy c&p, um zu testen obs so klappt aber leider auch nicht
hier mein Code:
Code:
Dim httpRequest As HttpWebRequest = HttpWebRequest.Create("http://paypal.com")
Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
Dim reader1 As StreamReader = New StreamReader(httpResponse.GetResponseStream)
Dim httpContent As String = reader1.ReadToEnd
RichTextBox1.Text = httpContent
Dim Text As String = RichTextBox1.Lines(468)
Dim Splitt As String() = Text.Split("=")
'csrfModel Key auslesen
Dim Key As String() = Splitt(3).Split(My.Settings.Setting)
With New Http
Dim html As String = String.Empty
Dim User As String = "XXX"
Dim PWD As String = "XXX"
Dim username As String = "EPVP_USERNAME"
Dim password As String = "EPVP_PASSWORD"
html = .GetResponse("https://www.paypal.com/at/cgi-bin/webscr?cmd=_login-submit", "csrfModel.returnedCsrf=" & Key(1) & "&login_email=" & User & "&login_password=" & PWD & "&submit.x=Einloggen")
html = .GetResponse("https://t.paypal.com/ts?v=0.1&t=1361259418036&g=-60&e=im&pgrp=My%20Account%20Overview&cnac=AT&page=My%20Account%20Overview&teal=ICmOX8D7uXYnjkVNrhtu09qamQpXCF32wSvO4KHRJejIhYJ8lTAQZQ%253d%253d_13cf15e048c&tmpl=xpt%2FCustomer%2Faccount%2FWelcome&cust=9G720876214018245&acnt=premier&aver=verified&rstr=unrestricted&pgst=1361259137&lgin=in&calc=5f805afe26f8&rsta=de_DE&pt=Mein%20Konto%20-%20PayPal&cd=24&sw=1920&sh=1200&bw=1226&bh=507&ce=1&pl=pdf%2Csilverlight%2CShockwave%20Flash%2011.5%20r502&t1=2&t1c=0&t1d=0&t1s=0&t2=2292&t3=24&t4=205&t4d=182&t4e=23&tt=2527&teal=ICmOX8D7uXYnjkVNrhtu09qamQpXCF32wSvO4KHRJejIhYJ8lTAQZQ%253d%253d_13cf15e048c")
If html.Contains("Willkommen, Vorname Nachname") Then //Vorname nachname sind natürlich die die angezeigt werden.
MsgBox("!!!")
Else
MsgBox("....")
End If
End With
Ich komm nun garnicht mehr in den account - egal ob richtig oder faktedaten.
Der 2. Getresponse link ist der, an dem mich paypal weiterleitet, ich vermute auch, dass hier der Fehler ist, der Link ist ewig lange und warscheinlich werden da weiß gott wieviele werte generiert an die ich nicht kommen - kann das sein ?
Mit diesem Teil lese ich den "csrfModel.returnedCsrf" Wert aus den mir Paypal für eine neue session zuteilt.
Bisschen umständlich über die RTB aber für testzwecke reicht es.
Code:
HttpWebRequest.Create("http://paypal.com")
Dim httpResponse As HttpWebResponse = httpRequest.GetResponse()
Dim reader1 As StreamReader = New StreamReader(httpResponse.GetResponseStream)
Dim httpContent As String = reader1.ReadToEnd
RichTextBox1.Text = httpContent
Dim Text As String = RichTextBox1.Lines(468)
Dim Splitt As String() = Text.Split("=")
'csrfModel Key auslesen
Dim Key As String() = Splitt(3).Split(My.Settings.Setting)
|
|
|
02/19/2013, 11:55
|
#13
|
elite*gold: 1
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
|
Wenn ich nicht falsch gelesen habe nutzt du nicht immer den gleichen cookiecontainer 
Dadurch stimmt der Key aus deinem erstem Request nicht mit dem, den du beim einloggen übergeben musst überein...
|
|
|
02/19/2013, 12:51
|
#14
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
PHP Code:
With New Http Dim html As String = .GetResponse("http://www.paypal.de") Dim csrf As String = html.Substring(html.IndexOf("csrfModel.returnedCsrf")).Split(""""c)(2)
Dim sb As New StringBuilder sb.Append("csrfModel.returnedCsrf=" & csrf) sb.Append("&login_email=" & email) sb.Append("&login_password=" & password) sb.Append("&submit.x=Einloggen")
html = .GetResponse("https://www.paypal.com/de/cgi-bin/webscr?cmd=_login-submit", sb.ToString())
If html.Contains("Ausloggen") MsgBox("ok") Else MsgBox("nope") End If End With
|
|
|
 |
Similar Threads
|
[Obj-C] WebRequest funktioniert nicht richtig
02/05/2013 - General Coding - 10 Replies
Hallo,
zur Zeit spiele ich ein bisschen mit dem Login-System etc. via POST-Request rum.
Leider funktioniert das nicht so, wie es soll.
Vorab: Hier geht es um iOS / OS X, das ganze funktioniert via Objective-C und dem Foundation-Framework. Für die NSURLConnection (so nennt sich der WebRequest) habe ich eine eigene Klasse.
Der Login klappt inzwischen, ich erhalte als Antwort die Seite mit dem Weiterleiten und im Header einen Cookie, den speichere ich für die spätere Verwendung ab.
|
[C#] WebRequest Hilfe
01/28/2013 - .NET Languages - 4 Replies
Hallo ich habe alle Webrequests Versuche mit allen möglichen Sachen in Foren geschafft, doch nun wollte ich es in Youtube versuchen und zwar ein Video liken. Den WebRequest fürs einloggen habe ich und er stimmt auch. Den Cookie Container hab ich auch öffentlich.
CookieContainer cookiecon = new CookieContainer();
#region Funktionen
public string GetResponse(string url, string post)
{
HttpWebRequest request =...
|
[VB 2010] Webrequest Fehler
12/31/2012 - .NET Languages - 12 Replies
Ich habe ein Programm erstellt, mit dem man sich über Webrequest einloggen kann und zb. Mails schreiben kann...
Alles funktioniert auch perfekt
aber wenn ich an meinen anderen PC gehe funktioniert der Login nicht mehr.
Bei einem Freund klappt aber alles wieder Problemlos.
hat jemand eine Idee wo der Fehler sein könnte?
|
[HILFE] Bild per WebRequest auf epvpimg.com hochladen
04/18/2012 - .NET Languages - 5 Replies
Ich versuche , ein ausgewähltes Bild im Programm , das per OpenFileDialog ausgewählt worden ist , auf epvpimg.com hochzuladen. Jedoch funktioniert das ganze nicht so richtig bzw. weiß ich nicht , wie ich das anstellen soll.
Würde mich über Hilfe freuen !
greetz
|
[C#] Hilfe für Webrequest
09/20/2011 - .NET Languages - 5 Replies
Hallo,
ich möchte ein Programm von mir per hwid absichern.
Also ich habe aus versch. komponenten mir eine hwid zusammen gebastelt.
Jetzt möchte ich eien funktion einbauen die es mir erlaubt leute zuzulassen oder nicht.
Also ich will verhindern das sich das prog zu schnell verbreitet.
|
All times are GMT +1. The time now is 05:50.
|
|