Entwickler-Ecke
Internet / Netzwerk - Http-Formulare
s00f - Do 12.01.06 19:52
Titel: Http-Formulare
tach erstmal,
ich weiß das es dieses thema schon zig mal gab, aber alle threads konnten mir nicht wirklich weiterhelfen.
mein programm "soll" sich mit id und passwort auf einer seite einloggen, eine suchmaske ausfüllen und danach den ie mit den ergebnissen anzeigen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.Button1Click(Sender: TObject); var L: TStringList; begin L := TStringList.Create;
try L.Add('id=edit1.text'); L.Add('pw=edit2.Text'); IdHTTP1.post('http://www.dieseite.de', L); finally L.Free; end; end; |
nun weiß ich jetzt natürlich nicht ob das auch so funktioniert wie ich mir das gedacht habe.
wie kann ich prüfen, dass ich tatsächlich eingeloggt bin und wie öffne' ich den ie mit der seite und bin gleichzeitig immernoch angemeldet? hab schon etliches versucht, aber ich weiß nicht weiter.
gruß, s00f
GTA-Place - Do 12.01.06 20:49
Delphi-Quelltext
1: 2:
| MyVar = IdHTTP1.post('http://www.dieseite.de', L); ShowMessage(MyVar); |
Gibt den Source der Seite aus, damit kannst du überprüfen ob du eingeloggt bist.
2. Frage kann ich nicht beantworten. Sry.
mkinzler - Do 12.01.06 21:13
Titel: Re: Http-Formulare
s00f hat folgendes geschrieben: |
tach erstmal,
ich weiß das es dieses thema schon zig mal gab, aber alle threads konnten mir nicht wirklich weiterhelfen.
mein programm "soll" sich mit id und passwort auf einer seite einloggen eine suchmaske ausfüllen und danach den ie mit den ergebnissen anzeigen.
|
Kommt darauf an, wie der Login bzw. Das "Action"-Skript der Suchmaske aussieht.
Werden die Eingaben der Maske ber GET übertragen bzw. ist im übernehmenden Skript globals aktiviert können die Felder der Suchmaske in der Url kodiert übergeben werden.
z.B.
Quelltext
1:
| such.php?name=name&passwort=passwort |
Bei Übertagung per POST und deaktivierten globals, geht das nicht.
| Zitat: |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.Button1Click(Sender: TObject); var L: TStringList; begin L := TStringList.Create;
try L.Add('id='+edit1.text); L.Add('pw='+edit2.Text); IdHTTP1.post('http://www.dieseite.de', L); finally L.Free; end; end; |
gruß, s00f |
s00f - Mo 16.01.06 21:05
so sieht das ganze bei mir aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.Button3Click(Sender: TObject); var i,j,k: Integer; m,a: String; begin waren := TStringList.Create; waren.LoadFromFile('waren.txt'); for i:=0 to waren.count-1 do begin a:=waren.Strings[i]; j:=pos('#',a); k:=Length(a); m:=copy(a,j+1,k-j); Delete(a,j,2); WebBrowser1.OleObject.document.forms.item(0).elements.item('Suche').value:=a; WebBrowser1.OleObject.Document.forms.item(0).elements.item(8).click; WebBrowser1.OleObject.document.forms.item(0).elements.item(12).value:=m; WebBrowser1.OleObject.Document.forms.item(0).elements.item(10).click; WebBrowser1.OleObject.Document.forms.item(0).elements.item(4).click; end; waren.Free; end; |
in einer textdatei(waren.txt) sind artikelnummer und menge der artikel gespeichert, diese sollen nacheinander ausgelesen werden.
Delphi-Quelltext
1:
| for i:=0 to waren.count-1 do begin |
das soll die die artikelnummer(a) in das feld "suche" einfügen
Delphi-Quelltext
1:
| WebBrowser1.OleObject.document.forms.item(0).elements.item('Suche').value:=a; |
und danach wird der suchbutton gedrückt.
Delphi-Quelltext
1:
| WebBrowser1.OleObject.Document.forms.item(0).elements.item(8).click; |
jetzt soll die menge der artikel in das formularfeld eingegeben werden.
Delphi-Quelltext
1:
| WebBrowser1.OleObject.document.forms.item(0).elements.item(12).value:=m; |
und wieder abschicken(damit kommt man zum warenkorb).
Delphi-Quelltext
1:
| WebBrowser1.OleObject.Document.forms.item(0).elements.item(10).click; |
im warenkorb sollte nun der artikel und die menge eingetragen sein.
jetzt zurück zur suchmaske.
Delphi-Quelltext
1:
| WebBrowser1.OleObject.Document.forms.item(0).elements.item(4).click; |
wenn ich die ganzen schritte über einzelne buttons verteile funktioniert auch alles, aber nicht nacheinander.
ich hab schon probiert das programm warten zu lassen bis der webbrowser fertig geladen ist, aber ohne erfolg.
hat vielleicht jemand eine idee??
gruß, s00f
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!