Hoe makkelijk checken of bestand URL geldig is

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Digital-DNA
  • Registratie: Juli 2000
  • Laatst online: 05-09 14:03

Digital-DNA

Gedigitaliseerd tot op het bot

Topicstarter
Ik upload soms een file naar een FTP en stuur de klant hiervan een URL. Voordat ik dit stuur wil ik graag even checken of de URL van het bestand echt werkt (een foutje is zo gemaakt).

Via adresbalk van de browser downloadt 'ie 'm en dat wil ik juist niet. Ik heb geprobeerd te pingen maar dat lijkt ook niet te werken.

Ik heb nu Chrome ingesteld dat 'ie altijd eerst moet vragen waar het bestand moet worden opgeslagen, en dan kies ik voor annuleren. Irritante is dat de URL in de adresbalk dan weer terug gaat naar de pagina ervoor. Echt ideaal is het dus niet.

Weet iemand een tooltje of browser extentie o.i.d. waarmee ik makkelijk kan controleren of een URL van een bestand geldig is, zonder het te downloaden?

www.nintendocasemods.com

Alle reacties


Acties:
  • 0 Henk 'm!

  • V-rg
  • Registratie: Juni 2007
  • Laatst online: 20:26
Je kan een makkelijke PHP scriptje van maken bijvoorbeeld. Tenzij je echt een extensie wilt hebben.

Je kan via PHP op meerdere manieren controleren, bijv. via @get_headers.

code:
1
2
3
4
5
6
7
8
9
$file = "http://www.domein.nl/bestandje.zip";
$file_headers = @get_headers($file);
if(!$file_headers || strpos($file_headers[0], '404') != false) {
    $exists = "Nope, bestaat niet";
}else{
    $exists = "Yup, bestaat wel";
}

echo $exists;


Dan maak je een simpele form van zodat je de URL in een input veld kan stoppen (ipv dat je telkens de link moet aanpassen bij $file).

[ Voor 3% gewijzigd door V-rg op 21-11-2016 16:12 ]


Acties:
  • 0 Henk 'm!

  • BramVroy
  • Registratie: November 2009
  • Laatst online: 29-08 12:47
Als het om bestanden op hetzelfde domein gaat, en je dus geen problemen het met cross-domain policies, dan kan je hier wel eenvoudig een request naar de file doen. Favoriete, eenvoudige manier is uiteraard jQuery ajax, maar via een vanilla XMLHttpRequest moet het ook lukken. Na even googelen kom je hier terecht, genoeg ideeën: http://stackoverflow.com/...s-in-jquery-or-javascript

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
V-rg schreef op maandag 21 november 2016 @ 15:44:
code:
1
if(!$file_headers || strpos($file_headers[0], '404') != false) {
Leuk, bij een 500 internal server error of 401 unauthorized en whathaveyou-aan-errorcodes bestaat volgens jou 't bestand ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 27-09 22:07

MAX3400

XBL: OctagonQontrol

Powershell
[code]
$request = [System.Net.WebRequest]::Create('http://de-url-die-je-wil-checken')
$response = $request.GetResponse()
$response.StatusCode
$response.Close()[/code]

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Waarom neemt iedereen eigenlijk aan dat het om http gaat?

Acties:
  • 0 Henk 'm!

  • Firefly III
  • Registratie: Oktober 2001
  • Niet online

Firefly III

Bedrijfsaccount Firefly III
-

[ Voor 113% gewijzigd door Firefly III op 21-10-2019 09:40 . Reden: Leeg ivm privacy ]

Hulp nodig met Firefly III? ➡️ Gitter ➡️ GitHub ➡️ Mastodon


Acties:
  • 0 Henk 'm!

  • V-rg
  • Registratie: Juni 2007
  • Laatst online: 20:26
RobIII schreef op woensdag 23 november 2016 @ 14:03:
[...]

Leuk, bij een 500 internal server error of 401 unauthorized en whathaveyou-aan-errorcodes bestaat volgens jou 't bestand ;)
Niet volgens mij, maar volgens het scriptje.

code:
1
2
3
4
5
6
7
8
9
$file = "http://www.domein.nl/bestandje.zip";
$file_headers = @get_headers($file);
if(strpos($file_headers[0], '200') != false) {
    $exists = "Yup, bestaat wel";
}else{
    $exists = "Nope, bestaat niet";
}

echo $exists;


Zo, dan hebben we die andere error codes ook afgevangen. Dan alleen nog de risico dat er een custom error page op de website staat en dus als nog de '200' reactie krijgen. Hmmmm..... |:(

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
V-rg schreef op woensdag 23 november 2016 @ 14:34:
Zo, dan hebben we die andere error codes ook afgevangen. Dan alleen nog de risico dat er een custom error page op de website staat en dus als nog de '200' reactie krijgen. Hmmmm..... |:(
En dan heb je nog niets gedaan met 301's, 302's (afhankelijk van wat je gewenste gedrag is kan 't zijn dat je redirects wil followen) en nog wel een zwikkie andere (toegegeven, minder vaak gebruikte, maar toch...) http status codes ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 16:54

André

Analytics dude

Maak een Google sheet aan met de IMPORTHTML functie: https://support.google.co...9?hl=nl&ref_topic=3105411

En laat die luisteren naar een cel waar je de URL in plakt. Dan zie je direct welke HTTP status je terug krijgt.

Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
En met een 200 weet je nog steeds niet of het "het" bestand is.
Joomla! bijvoorbeeld. Heerlijk zo'n "Not found" pagina met een 200 status 8)7

Maak je niet druk, dat doet de compressor maar

Pagina: 1