2012-01-19 12 views
11

W dość kilka przykładów curl ludzie używają:Dlaczego wyłączyć nagłówek w curl?

curl_setopt($ch, CURLOPT_HEADER, 0); 

Jakie są korzyści z tej operacji?

Udało mi się wyświetlić obraz i chcę wiedzieć, jakie opcje powinienem założyć/wyłączyć i dlaczego.

curl_setopt($ch, CURLOPT_BINARYTRANSFER,1); // use? 
curl_setopt($curlGetToken, CURLOPT_ENCODING, 'gzip'); // does it slow down MY server 
+4

Dobre pytanie ... CURLOPT_HEADER domyślnie ma na początku wartość 'false', więc inne niż dla jasności, nie wiem, dlaczego ustawiałbyś go na' false' jawnie. – Brad

Odpowiedz

11

Kiedy CURLOPT_HEADER jest ustawiony na 0, tylko efekt jest informacji nagłówka z odpowiedzi jest wyłączona z produkcji. Więc jeśli nie potrzebujesz tego, to o kilka mniej KB, które zwinięcie wróci do ciebie.

+0

A czy możesz mi powiedzieć więcej o dwóch pozostałych? Czy będzie użyteczne włączanie ich podczas ładowania obrazu? – SuperSpy

+0

Wszystkie opisy opcji CURL są dostępne tutaj: http://www.php.net/manual/en/function.curl-setopt.php. Wygląda na to, że CURLOPT_BINARYTRANSFER służy do zwracania rzeczywistych danych binarnych podczas przekierowań adresów URL (przydatne w przypadku obrazów). CURLOPT_ENCODING informuje serwer tylko o tym, jakie typy kodowania zaakceptuje. Tak czy inaczej dane będą dekodowane tylko w razie potrzeby. Ale nadając CURLOPT_ENCODING wartość ograniczającą twoje wezwanie do zaakceptowania tylko jednego typu kodowania. –

5

Zgodnie z docs, kontroluje, czy nagłówek (-y) zostanie zwrócony obok treści odpowiedzi. Zasadniczo, jeśli zależy ci tylko na treści odpowiedzi, chcesz ją wyłączyć (co jest ustawieniem domyślnym).

+0

Co będzie w nagłówkach? CZY to, co odsyła odwiedzany serwer? – SuperSpy

+0

@SuperSpy: Tak, nagłówki odpowiedzi. – alex

+0

@alex: Czy wiesz, jaka jest wartość domyślna? Dlaczego ustawić go na "0" lub "fałsz", gdy jest (przynajmniej tak to zakładam) domyślnie "false"/"0"? – hakre

0

E.g. gdy starasz się uzyskać pewne rzeczy JSON z curl nazwać można łatwo to zrobić:

$decodedData = json_decode($curlResult, true); 

$decodedData jest teraz tablica.

Jeśli nagłówki są zawarte w $curlResult, należy je najpierw usunąć (prawdopodobnie z reg exp).

Powiązane problemy