![]() |
WhoIs-Abfrage / Anmelden auf Website
Mahlzeit!
Ich möche eine WhoIs-Abfrage über ![]()
Delphi-Quellcode:
Ich bekomme aber die Meldung
Http := TIdHttp.Create(nil);
Http.HandleRedirects := True; slParam := TStringList.Create; slParam.Add('email=username'); slParam.Add('key=**********'); Memo1.Text := Http.Post('http://www.domaintools.com/login', slParam); // Anmelden AnsiStr := Http.Get('http://whois.domaintools.com/84.183.120.139');// Abfrage // ... // Freigabe der Objekte // Auwertung von AnsiStr
Delphi-Quellcode:
und ohne
Wert für IOHandler ist ungültig
Delphi-Quellcode:
kommt
Http.HandleRedirects := True;
Delphi-Quellcode:
:gruebel: :gruebel:
HTTP/1.1 301 Moved Permanently
Was mach ich den verkehrt? Und was bedeutet Http 1.1 / 301 ?? |
Re: WhoIs-Abfrage / Anmelden auf Website
Hallo,
erstmal HTTP 1.1 / 301: 1.1 ist die HTTP Version, die der Server verwendet. 301 ist eine Statusmeldung, die der Server meldet, wenn etwas passiert ist. 301 Moved Permanently bedeutet, dass die Seite auf diesem Server nicht mehr verfügbar is6t. Meistens steht im Browser dann auhc noch dabei, wohin diese seite umgezogen ist. Hier kannst du die Statusmeldungen nochmal nachlesen: ![]() Dann zu deinem anderen Problem: Vielleicht hilft dir das hier:
Delphi-Quellcode:
Gruß kabuco
function SendPostData(Ahttp: TIdHTTP; const AtoURL: String; const aParams: TStrings): String; //Funktion zum senden von Postdaten mit den Indys
//Ahttp: Die HTTP Komponente von Indy 8.0 bzw. 9.0 //AtoURL: An diese URL werden die Informationen gesendet //Result: HTML-Ergebnis (Antwort des Scripts) Var lStream: TMemoryStream; //HTML-Result des PHP-Scripts lParams: TStringStream; I: Integer; begin Result:=''; if not Assigned(aHttp) then exit; lStream := TMemoryStream.create; lParams := TStringStream.create(''); try AHTTP.Request.ContentType := 'application/x-www-form-urlencoded'; //Dieser Stream wird letztendlich gesendet //Stream mit Werten füllen for I:=0 to aParams.Count-1 do lParams.WriteString(aParams[I] + '&'); try //Stream an das PHP-Script senden AHTTP.Post(AtoURL, lParams, lStream); except on E: Exception do showmessage('Fehler bei der Übertragung: ' + E.Message); end; SetLength(Result,lStream.Size); lStream.Position:=0; lStream.ReadBuffer(Result[1],lStream.Size); finally lParams.Free; lStream.Free; end; end; procedure SendHighscore; //So wird die Funktion aufgerufen var sList: TStringlist; URI: TidURI; begin sList:=TStringList.Create; try URI := TIdURI.Create(''); sList.Add(IdURI.TIdURI.ParamsEncode('email=********')); sList.Add(IdURI.TIdURI.ParamsEncode('key=*********')); Memo1.Text:=SendPostData(idHttp1,'http://www.domaintools.com/login',sList); finally sList.Free; end; end; |
Re: WhoIs-Abfrage / Anmelden auf Website
Die Meldung (301) bleibt die gleiche. Aber bin schon mal schlauer wie vorher :stupid:
|
Re: WhoIs-Abfrage / Anmelden auf Website
HandleRedirects war doch (glaub ich) dafür da, daß Weiterleitungen erlaubt sind ... also das man erlaubt, daß die Aufgerufene URL einen auf 'ne andere Adresse weiterleitet(redirectet :stupid: )
Das 301 deutet jetzt vermutlich daruf hin, daß zwar vom Server gesagt wird, daß die gewünschte Seite jetzt woanders ist, aber vielleicht nicht wo, so daß nicht da hingeleitet werden kann. Hast du mal dir die Adressen direkt im Browser angesehn? Eventuell mal die 2. URL aufrufen, ohne vorherige Anmeldung mit der Ersten. 's könnte sein, daß Indy die Anmelde-Coockies nicht an den 2. Aufruf übergibt (vielleich muß man das ja auch selber noch machen), so daß du da garnicht angemeldet bist und auf 'ne Sie-Sind-Nicht-Angemeldetseite weitergeleitet wirst. Man könnte auch mal beim Seitenbetreiber anfragen, ob solch direkte anfragen überhaupt erlaubt und nicht vielleicht irgendwie gesperrt sind, oder ob es nicht andere Wege gibt... |
Re: WhoIs-Abfrage / Anmelden auf Website
Habe den Code auf anraten mal etwas umgebaut. Einen CookieMgr ist schon drinne sowie SSL.
Delphi-Quellcode:
Aber ich bekomme jetzt die MeldungHttp := TIdHttp.Create(nil); // SendHighscore; Http.HandleRedirects := True; Http.CookieManager := IdCookieManager1; Http.IOHandler := IdSSLIOHandlerSocket1; Http.Port := 443; slParam := TStringList.Create; slParam.Add('email=*****'); slParam.Add('key=******'); slParam.Add('r=http://www.domaintools.com/members'); slParam.Add('go=1'); slParam.Add('ts=0'); slParam.Add('psession=forever'); Memo1.Text := Http.Post('https://www.domaintools.com/login', slParam); AnsiStr := Http.Get('http://whois.domaintools.com/84.183.120.139'); --------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt Project1.exe ist eine Exception der Klasse EIdOSSLCouldNotLoadSSLLibrary aufgetreten. Meldung: 'SSL.-Bibliothek konnte nicht geladen werden.'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen. --------------------------- OK Hilfe --------------------------- Habe mir den SSLBuddy bei Indy geholt. Und immer noch ratlos |
Re: WhoIs-Abfrage / Anmelden auf Website
Liste der Anhänge anzeigen (Anzahl: 1)
Hast Du nicht die openSSL Dll's installiert?
Habe sie mal angehängt. Grüße Klaus |
Re: WhoIs-Abfrage / Anmelden auf Website
Oh danke. Aber Meldung bleibt. Kann die DLL nicht finden / Laden. Habe sie im Arbeitsverzeichnis und System32-Verzeichnis. Nix :gruebel:
|
Re: WhoIs-Abfrage / Anmelden auf Website
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
kannst Du mal die angehängte auch noch probieren. Was für eine Indy Version hast denn Du? Grüße Klaus |
Re: WhoIs-Abfrage / Anmelden auf Website
Alles beim alten.
--------------------------- Project1 --------------------------- HTTP/1.1 301 Moved Permanently. --------------------------- OK --------------------------- Von wegen: Früher war alles besser! :mrgreen: Ich nutzer Indy 9. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz