2013-02-26 2 views
0

zend 프레임 워크와 함께 cURL을 사용하면 헤더 및 사이트 내용을 다시 제공합니다.ZF2 응답의 헤더 추출

언어가 ser (content-language)인지 확인하기 위해 curl 출력에서 ​​헤더를 추출하려는 다른 클래스에서이 출력을 사용합니다.

출력에 응답 및 헤더와 같은 보호 된 클래스가 있으므로 클래스 헤더와 응답을 설정하여 헤더 값을 가져 오려고했지만 결과가 나지 않습니다.

(컬 출력 => $ this-> 콘텐츠)

class Zend\Http\Response#258 (7) { protected $recommendedReasonPhrases => array(57) { [100] => string(8) "Continue" 

[101] => 문자열 (19) "스위칭 프로토콜"[102] => 문자열 (10) "처리" [200] => 문자열 (2) "OK"[201] => 문자열 (7) "만든" [202] => 문자열 (8) "허용"[203] => 문자열 (29) "비 승인 정보 "[204] => 문자열 (10)"내용 없음 "[205] => 문자열 (13) "내용 재설정 "[206] => 문자열 (15)"부분 내용 "[207] => 문자열 (12) "다중 상태"[208] => 문자열 (16) "이미보고 됨"[300] => 문자열 (16) "다중 선택"[301] => 문자열 (17) "영구 이동"[302] => 문자열 (5) "찾음"[303] => 문자열 (9) "기타보기" [305] => 문자열 (12) "수정되지 않음"[305] => 문자열 (9) "프록시 사용" [문자열] (12) "프록시 전환"=> 문자열 (18) " 임시 리디렉션 "[400] => 문자열 (11)"잘못된 요청 "[문자열] (12) "승인되지 않음 "[402] => 문자열 (16)"결제 필수 "[403] => 문자열 (9) "금지"[404] => 문자열 (9) "찾을 수 없음"[405] => 문자열 (18) "메소드가 허용되지 않음"문자열 (14) "허용되지 않음" [407 (40) => 문자열 (8) "충돌"[410] => string (4) "프록시 인증이 필요합니다."[408] =>string (16) "Request Time-out" "사라짐"[411] => string (15) "길이 (41) => 문자열 (24) "엔터티 요청 너무 큼"[414] => 문자열 (21) "Request-URI가 너무 큼"[415] "필수"[412] => 문자열 " ] => 문자열 (22) "지원되지 않는 미디어 유형"[416] => 문자열 (31) "요청한 범위가 만족스럽지 않음"[417] => string (18) "Expectation Failed"[418] => string (42) => string (17) "Failed 종속성"[425] "나는 주전자입니다."=> string (20) "Unprocessable Entity" ]]>> 문자열 (20) "순서없는 콜렉션"[426] => string "업그레이드 필요"[428] => 문자열 (21) "사전 조건 필수"[429] => 문자열 (17) "너무 많은 요청 "[431] => 문자열 (31) "요청 헤더 필드가 너무 큼 "[500] => 문자열 (21)"내부 서버 오류 "[501] => 문자열 (15)"구현되지 않음 "[502] => 문자열 (11)"게이트웨이 "[503] => 문자열 (19)"서비스를 사용할 수 없음 "[504] => 문자열 (50) => 문자열 (20) "Gateway Time-out"=> 문자열 (26) "HTTP 버전이 지원되지 않습니다." => string (23) "Variant도 협상합니다"[507] => string (20) " (50) => 문자열 (13) "루프 감지 됨"[511] => 문자열 (31) "네트워크 인증 필요"} protected $ statusCode => int (200) 보호 $ reasonPhrase => 문자열 (2)) "OK"protected $ version => string (3) "1.(15) {[0] => string (4) "date"[0] = "0"보호 된 $ headersKeys => 클래스 Zend \ Http \ Headers # 257 (3) {보호 된 $ pluginClassLoader => NULL 보호 된 $ headersKeys = 1] => "서버"[2] => 문자열 (10) "xpoweredby"[3] => 문자열 (12) "xdrupalcache"[4] => 문자열 (7) "만료"[ 5] => 문자열 (12) "lastmodified"[6] => 문자열 (12) "cachecontrol"[7] => 문자열 (4) "etag"[8] => 문자열 (15) "contentlanguage" (15) "contentencoding"[12] => 문자열 (13) "contentlength"[9] => 문자열 (10) "xgenerator"[10] 13] => 문자열 (10) "연결"[14] => 문자열 (11) "contenttype"} 보호 $ headers => array (15) {[0] => array (2) { 'name'= > 문자열 (4) "날짜"(2) { 'name'=> 문자열 (6) '서버' '(1) ='문자열 '(35) "날짜": Tue, 26 2 월 2013 09:57:42 GMT "} [1] => (12) "X-Powered-By" '(2) {'name '=> 문자열 (12) line '=> string (35) "X-Powered-By : PHP/5.3.2-1ubuntu4."X-Drupal-Cache : MISS"} [X-Drupal-Cache : MISS]} [ 4] => 배열 (2) { 'name'=> 문자열 (7) "만료" '줄'=> 문자열 (38) "만료일 : 1978 년 11 월 19 일 일요일 05:00:00 GMT"} [5 ] => array (2) { 'name'=> 문자열 (13) "Last-Modified" 'line'=> 문자열 (46) "Last-Modified : Tue, 26 2 월 2013 09:57:42 +0000 캐시 제어 : public, max-age = 0 "캐시 컨트롤 :"문자열 "(32)"캐시 컨트롤 : 공용, " } ETag : "1361872662-1" "[8] => array (2) { 'name'=> string (4) 'ETag' 'line'=>string 2) { 'name'=> 문자열 (16) "콘텐츠 언어" '줄'=> 문자열 (20) "콘텐츠 언어 : ru"} [9] => array (2) { 'name' X- 생성기 : Drupal 7 (http://drupal.org) "} [10] => array (2) { 'name'=> string (문자열) (11)"X- 생성기 " '라인'=> 문자열 (16) "Content-Encoding (4)"Vary " 'line'=> 문자열 (28)"바리 : 쿠키, 수락 - 인코딩 "} [11] => "content-Length" 'line'=> 문자열 (22) "내용 - 길이"줄 = "문자열"=> 문자열 (22) "콘텐츠 인코딩 : gzip"} [ (17) "Connection : close"} "Content-Length : 7139"} [13] => 배열 (2) { 'name'=> 문자열 [14] => array (2) { 'name'=> 문자열 (12) "Content-Type" 'line'=> string (38) "Content-Type : text/html; 캐릭터 = UTF-8 "}}} 보호 $ 메타 => 배열 (0) {} 보호 $ 함량 => 문자열 (23,711)

(코드)

$response = new Response(); 
    $response->getHeaders($this->content); 
    $headers = new Headers(); 
    var_dump($headers->get('Content-Language')); 

(생성)
bool(false) 

($의 위해서 var_dump 응답 -> 대해 getHeaders)

클래스 젠드 \ HTTP를 \ 헤더 # 259 (3) {$ PluginClassLoader의 => NULL 보호 보호 $ headersKeys => 배열 (0) {} $ 보호 헤더 => 배열 (0) {}} 미리

감사

+0

수를 현재 (작동하지 않는) 코드를 추가합니까? – Ocramius

+0

그냥 내 게시물을 업데이 트 :) – directory

+0

왜'$ headers = new Headers();'하고 있니? – Ocramius

답변

1

Zend\Http\Response도 새로운 Zend\Http\Headers을 구축,하지만 당신의 현재 상황에 $this->content에 이미있는 것들을 사용하지 않아야합니다 :

var_dump($this->content->getHeaders()->get('Content-Language')); 
관련 문제