[JavaScript] Honderden links checken op validiteit

Pagina: 1
Acties:
  • 102 views sinds 30-01-2008
  • Reageer

  • ericck
  • Registratie: Augustus 2001
  • Laatst online: 20-09-2025
Ik heb een script dat een paar 100 links als volgt weergeeft op een pagina:

code:
1
2
link2("Ontdek NS","http://www.ontdekns.nl/xhtml/basisschool.html",0);
link2("Politie","http://www.politie.nl/Overige/Jeugd/",0);

Uiteraard is link2 een verwijzing naar een functie die netjes de link weergeeft in de juiste lay-out. Ik denk dat het principe van het script wel duidelijk is.

Mijn vraag is: hoe kan ik nou eenvoudig al deze links controleren op validiteit? Normaal gesproken gebruik ik een tool als Xenu, maar deze werkt helaas niet goed samen met mijn JavaScript code.
N.B.: het liefst wil ik dus op de een of andere manier gewoon een lijst van links op de site die niet goed werken (404 en 403 errors bijv.) en die ik dan vervolgens handmatig kan controleren.

(Eventueel wil ik de betreffende linkpagina hier wel posten, als nodig)

Verwijderd

Doe een request naar die pagina, en kijk naar de HTTP return code, een 200 is ok, een redirect is ok, een 404 is niet ok, helemaal geen connectie is ook niet ok. Je zegt het eigenlijk zelf al. Zoek dus maar een manier om daar achter te komen. Javascript zal daar niet de makkelijkste oplossing voor hebben, al denk ik dat je met een XMLHttpRequest een heel eind kan komen.

Een server-side taal heeft gewoon veel meer functionaliteit, daarmee kun je zelf een socket openen en een HTTP request doen. Je moet ook helemaal niet willen dat de client veel connecties gaat maken om links te testen.

Wat is het uiteindelijke doel? Een portal die automatisch dode linkjes verwijdert?

  • ericck
  • Registratie: Augustus 2001
  • Laatst online: 20-09-2025
Het uiteindelijke doel is dat ik bijvoorbeeld elke maand met een of andere applicatie kan testen of alle links nog werken. Vervolgens kan ik deze handmatig verwijderen.

Een willekeurige bezoeker van de site hoeft dus ook niet connectie te maken met alle links, dat hoef ik alleen.

Ik vraag me dus even af of de titel van dit topic wel goed is. Eigenlijk wil ik geen JavaScript om de links te checken, maar een manier om links die in JavaScript zijn gemaakt te checken.

[ Voor 27% gewijzigd door ericck op 02-04-2005 12:02 ]


Verwijderd

Gebruik dan een server-side taal zoals Cheatah al zegt?

  • ericck
  • Registratie: Augustus 2001
  • Laatst online: 20-09-2025
Dus even een paar honderd links omzetten van JavaScript naar PHP?
Ik weet niet of ik die oplossing wel realistisch vind.

  • markvt
  • Registratie: Maart 2001
  • Laatst online: 08-05 14:41

markvt

Peppi Cola

Als alle links zoals in je TS zijn kan je ze makkelijk replacen en dan in een mysql database gooien en dan met php werken.

van-tilburg.info -=- meka (sega emulator) - Proud MEDION fanclub member - KOPPIG VOLHOUDEN !


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
ericck schreef op zaterdag 02 april 2005 @ 22:34:
Dus even een paar honderd links omzetten van JavaScript naar PHP?
Ik weet niet of ik die oplossing wel realistisch vind.
Is gewoon goed te doen met een regex als ik jouw voorbeeld zo zie.... Maar waar komen de links vandaan??? Of worden ze echt met de hand in het .js bestand getypt op deze manier???

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 03-05 20:51
Volgens mij bestaan hier wel tooltjes voor, ik zou het eerder in die richting zoeken.

  • ericck
  • Registratie: Augustus 2001
  • Laatst online: 20-09-2025
@McVirusS: ik denk dat een tooltje ook het handigste is. Zoals ik al zei is het tooltje dat ik gebruikte er niet geschikt voor. En on-line tools als de W3 Link validator werken ook niet goed.

@Gomez12: kijk eens in de source van http://www.kareleykmanschool.nl/links.html, dan zie je wat ik bedoel.

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 08-05 23:48

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Bwoah, ik het anders totaal met Gomez12 eens. Ik heb zelf bijv. 579 links weten te halen uit de pagina, zie @ http://hbaart.speed.planet.nl/~matthijs/got/regex-link2.php :)

Nu voor elke url een socket openen, een http request erin gooien, en kijken wat voor server response code je eruit krijgt :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Spleasure
  • Registratie: Juli 2001
  • Laatst online: 17-03 19:10

Spleasure

Ik hier?

Je kunt tijdelijk een nieuwe functie link2 maken die dmv client side http requests de URL opvraagt. Je kunt vervolgens de HTTP status uitlezen.

Zie bijvoorbeeld:

http://jibbering.com/2002/4/httprequest.html

Verwijderd

Prammenhanger schreef op zondag 03 april 2005 @ 12:58:
Bwoah, ik het anders totaal met Gomez12 eens. Ik heb zelf bijv. 579 links weten te halen uit de pagina, zie @ http://hbaart.speed.planet.nl/~matthijs/got/regex-link2.php :)

Nu voor elke url een socket openen, een http request erin gooien, en kijken wat voor server response code je eruit krijgt :)
Je had veel makkelijker in de link2 functie even een stokje code kunnen zetten dat de url naar een popup schrijft. Vervolgens kopieer/plak je de boel in een bestand, en dat kun je dan weer gebruiken in een scriptje. Hier ga ik niet eens een regular expression bedenken, ook al is hij nog zo simpel :)
Pagina: 1