curl -I
wird immer zurückkehren 0
, wenn mit dem HEAD eine Ausgabe erzeugt wurde. Sie haben zwei Alternativen.
Die erste ist, zu verwenden, curl -I --fail
statt, und überprüfen Sie die Exit - Code 22
.
Wenn Sie dies in einem Python-Skript ausführen, könnte dies folgendermaßen aussehen:
try: subprocess.check_call(['curl', '-I', '--fail', url]) except subprocess.CalledProcessError as e: if e.returncode == 22: (do something)
Die zweite besteht darin, tatsächlich nur den HTTP-Statuscode wie folgt zu fragen :
$ curl -s -I -o /dev/null -w '%' $bad-url 403