Einzelnen Beitrag anzeigen

Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#17

AW: Login auf Homepage mit Indy

  Alt 19. Feb 2013, 23:01
Hey,
also die Webseite ist ja auch mehr so zusammengefummelt
Zitat:
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, height=device-height, user-scalable=yes,initial-scale=1.0, maximum-scale=5.0, minimum-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-16">

In deinem Code sind erstmal folgende Fehler:
Delphi-Quellcode:
// Es heißt "SWEPassword"
     Params.AddFormField('SWEpassword', String(UTF8Encode(Passwort)));

// UTF8Encode übernimmt Indy für dich! siehe mein Code (durch Angabe des Charsets)
     Params.AddFormField('SWECmd', String(UTF8Encode('ExecuteLogin')));

// Du meinst hier wohl "SWENeedContext"
     Params.AddFormField('SWEpassword', String(UTF8Encode('false')));
Okay, was du nicht wissen kannst es gibt mehrere Möglichkeiten Parameter zu übermitteln. Eine ist mit dem multipart, eine andere ist über ein TStringList (application/x-www-form-urlencoded).
Wann immer du Parameter in diesem Format siehst:
Code:
SWEUserName=Name1+Name2&SWEPassword=Passwort&SWECmd=ExecuteLogin&SWENeedContext=false
Kannst du vom application/x-www-form-urlencoded ausgehen, also einfach wie GET Parameter. Multipart sieht anders aus.

Ich habe beide Parametermöglichkeiten mit LoginA und LoginB im Code als Beispiel.

Ich habe etwas Struktur in den Code gebracht, das ist sicherlich noch weiter verbesserungswürdig, aber will dir ja nicht zuviel Arbeit wegnehmen.
Angehängte Dateien
Dateityp: pas uIndyLogin.pas (3,5 KB, 12x aufgerufen)
Sebastian
  Mit Zitat antworten Zitat