One Way (12.03.2014)
-
09.03.2014, 23:45 #1
HTTPwebrequest: Wer Kennt Wen?
Hallöchen
Ich arbeite mit folgendem Code:
Code:With New Http Dim html As String = String.Empty Dim username As String = "xxx" Dim password As String = "abc" html = .GetResponse("https://secure.wer-kennt-wen.de/login/index", "loginName=" & username & "&pass=" & password & "&logIn=1") html = .GetResponse("http://www.wer-kennt-wen.de/") If html.Contains("Meine Leute") Then MsgBox"Login Okay!") 'eingeloggt Else MsgBox("nicht eingeloggt") 'nicht eingeloggt End If End With
Kann mir da wer helfen?
-
09.03.2014, 23:59 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 6.210
- Blog Entries
- 5
Thanked 9.132 Times in 3.006 PostsAW: HTTPwebrequest: Wer Kennt Wen?
Und was heißt 'geht nicht'? Schon mal gedebuggt? Zum Beispiel die Zwischen- bzw. Endantworten in eine temporäre Datei gespeichert und angeschaut ob da irgendwelche Fehlermeldungen drin vorkommen?
'Mit anderen Seiten funktioniert die Klasse' hat nicht viel zu bedeuten. Du kannst z.B. in deiner Hilfsklasse auch einfach was falsch implementiert haben was deine anderen Seiten tolerieren, aber diese eben nicht.
-
10.03.2014, 00:14 #3
AW: HTTPwebrequest: Wer Kennt Wen?
Die Anmeldung erfolgt nicht, habe dann bereits cookies gesetzt aber leider leitet er immer wieder uneingeloggt weiter.
-
10.03.2014, 00:22 #4
AW: HTTPwebrequest: Wer Kennt Wen?
Bei einigen Seiten kann es sein dass du erst einen Cookie von der Start/Login Seite brauchst bevor du dich einloggen kannst. Damit schon mal probiert?
-
10.03.2014, 00:39 #5
AW: HTTPwebrequest: Wer Kennt Wen?
Cookies setze ich auch :/
-
10.03.2014, 02:09 #6
- Registriert seit
- 15.11.2011
- Beiträge
- 6.210
- Blog Entries
- 5
Thanked 9.132 Times in 3.006 PostsAW: HTTPwebrequest: Wer Kennt Wen?
Er redet nicht vom generellen Cookie-Handling sondern von einem GET-Request an die Startseite zum Cookies sammeln. Manche Seiten setzen da einen Cookie den sie vor dem Login abfragen. Aus dem Grund habe ich auch gesagt du sollst Debuggen und nach jedem Request gucken was du als Antwort bekommst. Hättest du das gemacht, hättest du bei deinem ersten Request nämlich festgestellt, dass da eine Fehlermeldung kommt und keine Session erzeugt wird:
Also wird beim Login wohl geprüft ob Cookies mitgesendet werden bzw. ob ein bestimmter Cookie gesetzt ist. Ein regulärer Nutzer sendet ja keine direkten HTTP-Requests und muss daher zwangsweise über einen normalen Seitenaufruf das Formular absenden. Werden keine Cookies gesetzt hat der reguläre User Cookies deaktiviert, und da ein auf Cookies basierendes Sessionsystem ohne Cookies eben nicht funktionieren kann, wird keine Session erzeugt und die Fehlerseite angezeigt. Also sendet man besagten GET-Request auf die Startseite einfach mit und es läuft:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
CookieContainer cookies = new CookieContainer();
private void Form1_Load(object sender, EventArgs e) {
var request = CreateRequest("http://www.wer-kennt-wen.de", "GET");
GetResponse(request);
string body = "loginName=blubb%40gmx.de&pass=123456&logIn=1";
request = CreatePOSTRequest("https://secure.wer-kennt-wen.de/login/index", "application/x-www-form-urlencoded", body);
string dashboardPage = GetResponse(request);
wbDebug.DocumentText = dashboardPage;
}
private HttpWebRequest CreateRequest(string url, string method = null, string contentType = null) {
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = (string.IsNullOrEmpty(method) ? "GET" : method);
request.CookieContainer = cookies;
request.KeepAlive = true;
request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0";
if (!string.IsNullOrEmpty(contentType))
request.ContentType = contentType;
return request;
}
private HttpWebRequest CreatePOSTRequest(string url, string contentType, string body) {
HttpWebRequest request = CreateRequest(url, "POST", contentType);
byte[] bodyData = Encoding.UTF8.GetBytes(body);
request.GetRequestStream().Write(bodyData, 0, bodyData.Length);
return request;
}
private string GetResponse(HttpWebRequest request) {
return new StreamReader(request.GetResponse().GetResponseStream()).ReadToEnd();
}
}
}
-
The Following User Says Thank You to DMW007 For This Useful Post:
Ähnliche Themen
-
VB.Net HttpWebRequest - Server gibt immer falsche Meldung
Von !lkay im Forum .NetAntworten: 7Letzter Beitrag: 17.01.2014, 11:23 -
Wer kennt TheBot.net ?
Von MrScrubs im Forum Internet und TechnikAntworten: 3Letzter Beitrag: 06.12.2013, 01:27 -
C# HTTPWebRequest Hilfe! IpBoard Login
Von RaidPower im Forum .NetAntworten: 15Letzter Beitrag: 20.09.2013, 01:29 -
EZE International Ltd - Wer kennt's?
Von Dost im Forum Finanzen & ZahlungsmittelAntworten: 8Letzter Beitrag: 14.01.2012, 23:06 -
PW auf wer-kennt-wen herausfinden
Von Febrezeduft im Forum SecurityAntworten: 11Letzter Beitrag: 08.06.2011, 16:03
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.