Il modo più semplice a cui posso pensare è usare cURL (che è scriptable).
curl -v -X TRACE http://www.yourserver.com
Eseguirlo contro un server Apache con TraceEnable Off
restituisce correttamente HTTP/1.1 405 Method Not Allowed
(appena testato su un Apache 2.2.22)
Funziona anche su siti HTTPS, a condizione che cURL abbia le informazioni corrette fornite al livello SSL. Questo è l'assegno pigro di Google
curl --insecure -v -X TRACE https://www.google.com/
... negozia la connessione (non verifica la catena di certificati, ma non è questo il problema dato che vogliamo verificare lo stato di TRACE
) e risponde 405:
* Server certificate:
* subject: C=US; ST=California; L=Mountain View; O=Google Inc; CN=www.google.com
* start date: 2013-02-20 13:34:56 GMT
* expire date: 2013-06-07 19:43:27 GMT
* subjectAltName: www.google.com matched
* issuer: C=US; O=Google Inc; CN=Google Internet Authority
* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
> TRACE / HTTP/1.1
> User-Agent: curl/7.25.0 (x86_64-suse-linux-gnu) libcurl/7.25.0 OpenSSL/1.0.1c zlib/1.2.7 libidn/1.25 libssh2/1.4.0
> Host: www.google.com
> Accept: */*
< HTTP/1.1 405 Method Not Allowed