2011-12-28 6 views
10

Sto usando sotto la linea di comando ricciolo per sapere se il mio sito supporta la compressione e il cachingricciolo comando di ritorno HTTP/1.1 406 errore non è accettabile

curl --head --compress http://www.mysite.com

restituisce il seguente risultato

Http://1.1 406 Not Acceptable 
Date: Wed, 28 Dec 2011 07:41:32 GMT 
Server: Apache 
Content-Type: text/html; charset-iso-8859-1 

cosa ne pensi del problema? Grazie

+0

Perché stai usando 'curl' per verificare se il sito web supporta la compressione e la memorizzazione nella cache. Sono entrambe le intestazioni inviate da Apache. – nand

+0

non supporta la compressione. il server admin afferma che lo fa e devo provarlo. –

+0

Perché non provare solo php.ini? Ci sono funzioni disponibili per questo, come 'ini_get'. – nand

risposta

1

Dalla standard HTTP/1.1:

La risorsa identificata dalla richiesta è solo in grado di generare risposta che ha caratteristiche di contenuti non accettabili secondo le intestazioni accettare inviati nella richiesta.

A meno che non si trattava di una richiesta HEAD, la risposta dovrebbe includere un soggetto contenente un elenco di caratteristiche di entità disponibili e posizione (s) da cui il programma utente o utente può scegliere la più appropriata.

Così cadere il --head e si dovrebbe vedere che cosa è sbagliato.

Il 406 potrebbe essere solo ciò che sta dimostrando che è giusto - il server non supporta la compressione. :)

+0

quando ho cadere il '--head' mi mostra le seguenti righe ' 406 non è accettabile

non è accettabile

. . ' sto usando i caratteri utf-8 nel titolo e il tag h1 anche –

+0

Ho pensato che avrebbe mostrato più di quello. In ogni caso, 406 significa in sostanza "hai chiesto qualcosa che non posso darti". 'curl --compress' invia' Accept-Encoding: deflate, gzip' - a quanto pare il tuo server non può servirlo. In breve: questa risposta dimostra che il tuo sysadmin è sbagliato, il server non supporta la compressione. Puoi usare curl's -v flag per un output più dettagliato, includendo le intestazioni di richiesta. Questo può aiutare a convincere il tuo amministratore di sistema. –

+0

quando uso phpinfo() per il mio sito, mi mostra questo ambiente variabile 'HTTP_ACCEPT_ENCODING gzip, delate' –

26

In alcuni casi ho avuto, fingendo l'agente risolto questo problema, utilizzando:

curl -A "Mozilla/4.0" 

Allo stesso modo utilizzando libcurl C-API:

curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/4.0"); 
+0

Ho dovuto usare la stringa dell'agente completo" Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, come Gecko) Chrome/41.0.2228.0 Safari/537.36 "," Mozilla/5.0 "non ha funzionato. Grazie! –

+1

L'agente falso ha funzionato esattamente come previsto, per me. Grazie! – Animal451

Problemi correlati