Toon posts:

[Delphi 5] URL check

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand hoe ik SNEL in Delphi kan controleren of een link dood is ??????

Nu gebruik ik het component NMHTTP.
Door elke keer de options van een pagina op te vragen, kom ik erachter of die pagina d'r is of niet :P Dit duurt veel te lang ... |:(
Kent iemand een snellere manier?

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 14-09 13:24
Volgens mij is er geen snellere manier. Je zou kunnen controleren of er uberhaupt een DNS entry aanwezig is voor de naam, maar als die aanwezig is ben je toch afhankelijk van de mogelijke timeout van de webserver.

"If you don't know where you are going, any road will take you there"


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Of je checkt of je 404 terug krijgt. Maar ik denk dat dit onbegonnen werk is.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 21:12
Probeer het eens met een Telnet-component. Verstuur het HHTP request naar de server. En vervang GET door HEADER.
Dus:
HEADER /index.html HTTP/1.1[CRLF][CRLF]

Als het goed is krijg je dan de header-info terug. En de 1e regel geeft dan volgens mij de status aan:
200 Ok
404 Niet gevonden
enz...

Succes

  • [ti]
  • Registratie: Februari 2000
  • Niet online
Op woensdag 05 december 2001 09:06 schreef jvdmeer het volgende:
HEADER /index.html HTTP/1.1[CRLF][CRLF]
Moet je wel volledig zijn anders gaat het stuk bij virtual hosting dinges:
HEADER /index.html HTTP/1.1[CRLF]
Host: www.dewebsite.nl[CRLF][CRLF]

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Op woensdag 05 december 2001 09:06 schreef jvdmeer het volgende:
Probeer het eens met een Telnet-component. Verstuur het HHTP request naar de server. En vervang GET door HEADER.
Dus:
HEADER /index.html HTTP/1.1[CRLF][CRLF]

Als het goed is krijg je dan de header-info terug. En de 1e regel geeft dan volgens mij de status aan:
200 Ok
404 Niet gevonden
enz...
Is een goede oplossing, maar veel sites sturen een eigen 404 page terug. Wat dus als HTTP status 200 OK zal zijn.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • [ti]
  • Registratie: Februari 2000
  • Niet online
Als je de HTTP RFC leest dan zou je zien dat dat niet VOLLEDIG is. Een virtual server host op een ip adres meerdere sites. Je MOET dus een Host: in de header meesturen, anders weet 't webserver-beestje niet over welke index.html van welke site je 't nou hebt.

  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 21:12
Op woensdag 05 december 2001 09:24 schreef jelmervos het volgende:
Is een goede oplossing, maar veel sites sturen een eigen 404 page terug. Wat dus als HTTP status 200 OK zal zijn.
In dat geval zou de NMHTTP ook mooi een pagina terugkrijgen. Voor die gevallen bestaat er dan ook geen oplossing. :( Want de pagina doorlezen op 404 geeft ongewenste situatie's indien de pagina gaat over de toekomstige Boeiing 404 (Bestaat die :?).
Op woensdag 05 december 2001 09:26 schreef [ti] het volgende:
Als je de HTTP RFC leest dan zou je zien dat dat niet VOLLEDIG is. Een virtual server host op een ip adres meerdere sites. Je MOET dus een Host: in de header meesturen, anders weet 't webserver-beestje niet over welke index.html van welke site je 't nou hebt.
Sorry, ik ken RFC 2068 niet uit mijn hoofd. Maar ik heb hem even snel doorzocht en ik zie inderdaad TWEE fouten in mijn berichtje:
• De regel 'Host:' moet voorkomen in het request (In RFC 1945 (HTTP/1.0) hoefde het nog niet.)
• De Method Definition 'HEADER' bestaat niet, Moet zijn 'HEAD'.
Dus het goeie is:
code:
1
2
HEAD /index.html HTTP/1.1[CRLF]
Host: www.dewebsite.nl[CRLF][CRLF]

* jvdmeer heeft nog even een typootje verbeterd
Pagina: 1