Sto cercando di creare un programma in grado di convertire una serie di scansioni di manga in un unico file PDF e non voglio cercare di scaricare l'immagine per determinare se ho l'URL corretto. Esiste un comando di script di shell che posso usare per verificare se esiste una pagina Web?Come determinare se esiste una pagina Web con script di shell?
risposta
Sotto un * NIX, è possibile utilizzare curl
di emettere una semplice richiesta HEAD
(HEAD
chiede solo per le intestazioni, non il corpo della pagina):
curl --head http://myurl/
allora si può prendere solo la prima riga, che contiene il codice di stato HTTP (200 OK, 404 Not Found, ecc):
curl -s --head http://myurl/ | head -n 1
e quindi controllare se hai una risposta decente (codice di stato è 200 o 3 **):
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].."
Questo emetterà la prima riga se il codice di stato è ok, o nulla se non lo è. È possibile anche che il tubo a/dev/null per ottenere nessuna uscita, e utilizzare $?
per determinare se ha funzionato o no:
curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].." > /dev/null
# on success (page exists), $? will be 0; on failure (page does not exist or
# is unreachable), $? will be 1
EDIT-s
dice semplicemente curl
di non mostrare una "barra di avanzamento".
Per fare ciò con una minore analisi delle stringhe e per controllare i reindirizzamenti su pagine non esistenti, usare 'curl --silent --head --location --output/dev/null --write-out '% {http_code}' http://en.wikipedia.org/wiki/tla | grep '^ 2'' – bukzor
Usa --fail: http://stackoverflow.com/a/12199125/376366 –
Script per automatizzare la convalida di un numero di file: https://gist.github.com/igilham/12eb33ab8a86f1e815d2 – IanGilham
wget o cURL farà il lavoro. Vedi qui wget o cURL per dettagli e posizioni di download. Fornire l'URL a questi strumenti da riga di comando e controllare la risposta.
Pfff ... perché i downvotes (senza spiegazione, intendiamoci) se la risposta è corretta, breve e informativo? –
Non ho votato, ma se dovessi indovinare, è perché le risposte solo per l'URL sono [scoraggiate] (https://meta.stackexchange.com/questions/8231/are-answers-that-just-contain- link-altrove-davvero-good-risposte). – zneak
Grazie. TBH, la domanda era "Esiste un comando di shell scripting che posso usare per controllare se esiste una pagina web?" e la mia risposta è stata "wget o cURL farà il lavoro", oltre a collegamenti a ciascun comando e una spiegazione che la risposta di tali invocazioni di comando potrebbe essere verificata. Questa non è una risposta solo per URL, in alcun modo, ed era tanto informativa quanto l'altra risposta (revisione) che era in quel momento: https://stackoverflow.com/revisions/2924444/1. Ahimè, a quanto pare una brutta giornata di karma :-) –
Utilizzare cURL per ottenere il codice di stato e verificare i valori richiesti.
status=$(curl -s --head -w %{http_code} http://www.google.com/ -o /dev/null)
echo $status
Prima verificare che non v'è alcuna autorizzazione issue.If qualsiasi richiesta l'autorizzazione, è necessario fornire il nome utente e la password .Create un file di script di shell (checkURL.sh) e incolla il codice qui sotto.
Spero che questo ti possa aiutare.
checkURL.sh
yourURL="http://abc-repo.mycorp.com/data/yourdir"
if curl --output /dev/null --silent --head --fail "$yourURL"
then
echo "This URL Exist"
else
echo "This URL Not Exist"
fi
Il suo lavoro per me in Nexus e altri repository.
È sempre possibile utilizzare solo wget
; Faccio come il codice è più semplice.
if [[ $(wget http://url/ -O-) ]] 2>/dev/null
then echo "This page exists."
else echo "This page does not exist."
fi
Utilizzando l'opzione -O-
con wget
significa che cercherà di uscita il contenuto della pagina, ma solo se esiste. Quindi se non c'è alcun output, la pagina non esiste. Lo 2>/dev/null
è solo per inviare l'output (se ce n'è uno) al cestino.
So che è in ritardo, ma spero che questo aiuti.
- 1. come determinare se la pagina web è stata modificata
- 2. Come determinare se GraphicsEnvironment esiste
- 3. Script di shell per verificare se esiste una directory e se non crearla?
- 4. Come determinare se l'utente di Facebook "piace" una determinata pagina
- 5. Determinare se l'elemento esiste in tutta la pagina html
- 6. Come determinare se un file di script della shell viene estratto in Bash
- 7. Come determinare se il file esiste con VBA Excel 2007?
- 8. determinare se $ _SESSION superglobale esiste in PHP
- 9. come determinare se esiste un campo?
- 10. Come posso determinare se esiste una sottodirectory in C#?
- 11. Controllare se esiste uno script Javascript a pagina
- 12. Script di shell con Wget - Se nidificato internamente per loop
- 13. Verificare se esiste una funzione da uno script bash
- 14. Script PhantomJS che restituisce una pagina Web vuota
- 15. Determinare la shell dell'utente corrente
- 16. rileva se una pagina web viene modificata
- 17. Come eseguire script Python nella pagina web
- 18. Verificare se esiste un servizio web
- 19. Javascript: come verificare se esiste un testo in una pagina web
- 20. Come determinare se esiste un ID di processo
- 21. Come verificare se il comando esiste in uno script di shell?
- 22. Come recuperare una pagina Web con C#?
- 23. Un modo rapido per determinare se esiste una PID (Windows)?
- 24. Qual è il modo migliore per determinare se una pagina Web è per dispositivi mobili?
- 25. Come si crea una destinazione Shell Script in Xcode 4.2?
- 26. script di shell non funziona con nohup
- 27. Come chiamare lo script di Google Apps dalla pagina Web
- 28. Shell array di script
- 29. Come visualizzare continuamente l'output di Python in una pagina Web?
- 30. Come leggere una pagina Web in PHP
Quale shell? Shell UNIX? Prompt dei comandi di Windows? Windows PowerShell? – zneak
UNIX, presumo, perché ha un tag unix. – thepiercingarrow