POST 데이터를 보낸 후 결과를 반환하는 API가 있습니다.보낼 방법 PHP에서 fopen을 사용하여 Accept Encoding 헤더
현재 저는 fopen을 사용하고 있습니다.
정확한 헤더를 보내면 API가 gzip 압축 결과를 반환합니다.
fopen을 사용하여 Accept Encoding 헤더를 보내려면 어떻게해야합니까?
는 현재, 관련 코드가 보이는 같은 : 쉽게 사람들이 그래서 헤더를 설정하고자 항상 압축 gzip을 스트림 또는 사람을 읽는 관련된 구글에서 발견되는 등
$params = array('http' => array(
'method' => 'POST',
'content' => $xml,
'header' => 'Content-type: application/x-www-form-urlencoded' . "\r\n",
'ignore_errors' => $ignoreErrors
));
$ctx = stream_context_create($params);
$fp = fopen($url, 'rb', false, $ctx);
모든 예제/압축 된 데이터를 보낼 수 있습니다.
왜 안 CURL을 사용하기 :
다음은 일을 했습니까? 'curl_setopt ($ curl, CURLOPT_ENCODING, 'gzip, deflate'); ' – Robert
@Darren - www.php.net/stream_context_create - 여러 헤더를 보내는 방법에 대한 예제가 있습니다. 그 정보를 찾는 데 약 5 초가 걸리고, ** ** fopen이 아니라, 필요한 stream_context_create입니다. –
@ 로버트 - 나는 CURL을 시도했다. curl_getinfo를 확인하면 압축 된 데이터를 전송하지 않는 것처럼 보입니다. 'content_type'=> string 'text/html; charset = iso-8859-1 '. –