2011-10-03 10 views

risposta

28

Pass "Accetta:" (vale a dire un colpo di testa senza contenuti a destra del colon) con CURLOPT_HTTPHEADER. Come:

$headers = array("Accept:"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

L'equivalente utilizzando lo strumento da riga di comando ricciolo è:

curl -H 'Accept:' http://example.com/ 

Questo farà arricciare rimuovere l'intestazione, non solo inviare un colpo di testa con un valore vuoto. È possibile inviare anche un colpo di testa con un valore vuoto se si vuole, ma poi è necessario utilizzare un punto e virgola al posto del colon!

+0

ci siamo imbattuti in [una questione connessa] (http://stackoverflow.com/questions/12130910/how-to-interpret-empty-http- accept-header) prima di arrivare a questo, e volevamo indicare '-H 'Accept:'' di fatto impedisce a curl di inviare l'header completamente. Non invia l'intestazione come vuota come pensavo inizialmente. – aaaaaa

0

Assicurati che il tuo elemento dell'array è impostato con i due punti subito dopo il nome di intestazione, in questo modo:

array("Accept: yourAcceptValue") 

Non con spazi, in questo modo:

array("Accept : yourAcceptValue") 

se c'è uno spazio tra il nome dell'intestazione e i due punti, arricciatura aggiungerà il valore predefinito */* nelle intestazioni.

(Lavori in PHP 5.5.9-1ubuntu4.7)

Problemi correlati