| Autor |
Beitrag |
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Mo 16.08.04 11:37
folgendes problem:
wenn ich z.b. einen link habe:
*****/r.php?id=2604045
dann führt dieser auf die url:
*****/gali.htm
wenn ich DownLoadUrlToFile von "http://*****r.php?id=2604045" mache bekomme ich den quelltext der "htm" datei ("http://******/gali.htm"), wie komm ich jedoch an den link der htm datei?
ich will nciht den webbrowser benutzen! bei dem kann man das dann rausfidnen wenn man
wb.Navigate('http://*****/r.php?id=2604045')
und dann OnDocumentComplete() die variable URL aussließt
Moderiert von Tino: Links entfernt.
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Mo 16.08.04 21:49
Hallo!
Ich habe die Links entfernt. Hier im Delphi-Forum.de ist das verlinken auf solchen Seiten verboten. Halte dich daran!
Hier der entsprechende Absatz aus den Richtlinien:
| Richtlinien hat folgendes geschrieben: | 5.3 Links zu illegalen Seiten
Von Links oder anderweitigen Verweisen auf Internetseiten mit illegalen Inhalten (z. B. Warez-Sites), Materialien, welche lediglich auf bestimmte Altersgruppen zielen (z. B. Porno-Seiten), oder mit bestimmten Menschengruppen gegenüber diskriminierenden Texten ist in jeglicher Hinsicht abzusehen. |
Gruß
Tino
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 16.08.04 22:13
TCP-Verbindung zu ***** auf Port 80 aufbauen und
{code]GET /r.php?id=2604045 HTTP/1.1
Host: *****
[/code]
senden.
Als Antwort erhäst du dann den Komplett-Quelltext mit ein paar Header-Zeilen (alles bis zur Leerzeile. Unter anderem steht dort auch ne Zeile
Quelltext 1:
| Location: http://*****/gali.htm |
Das ist deine Weiterleitungs-URL.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
uall@ogc 
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Di 17.08.04 11:27
@Tino: kommt net wieder vor
@BenBE: jo ich weiß das es auch über clientsocket geht, bis jetzt lade ich die datei mit InternetOpen / InternetReadFile runter, und habe gleichzeitig nen API hook auf recv
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function myrecv(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall; var t: string; i, j: integer; begin result := nextrecv(s,buf,len,flags); setlength(t,len); copymemory(@t[1],@buf,len); if copy(t,1,4) = 'HTTP' then if pos('Location:',t) > 0 then begin delete(t,1,pos('Location:',t)+9); delete(t,pos(#13,t),length(t)); j := 1; for i := 1 to length(t) do if t[i]= '/' then j := i; delete(t,j+1,length(t)); inetseite := t; end; end; |
aber ich finde das net so elegant, müsste doch auch mit ner funktion von der wininet.pas gehen
irgendwas mit
Quelltext 1:
| HttpQueryInfo(hservice,HTTP_QUERY_STATUS_TEXT,@buf[0],buflen,reserved); |
nur kann ich darüber net genug infos finden, welche fkt mir da weiterhelfen kann
|
|
|