POST (또는 GET)와 함께 2 개의 헤더를 보내는 iPhone http 클라이언트를 만들고 있습니다.
내 서버는 7 개의 헤더를받습니다.
네트워크 라이브러리에 5 개의 헤더가 추가되었습니다.
ios 프로그램에서 추가 된 헤더에 액세스하는 방법이 있습니까?
또는
이 기능을 억제하고 요청에 헤더를 추가하지 않을 방법이 있습니까?
외부 도구를 사용하여 이미이 작업을 수행 할 수 있습니다.
나는 발송되는 모든 헤더를 기록하기 위해 ios 프로그램 만 필요합니다.NSMutableURLRequest, 내 iPhone 프로그램 내에서 보낸 모든 요청 헤더에 액세스 할 수 없습니다.
all headers {
Connection = "keep-alive";
"User-Agent" = "BlahAgent";
}
에 : 엑스 코드 콘솔에
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"BlahAgent" forHTTPHeaderField:@"User-Agent"];
[request setValue:@"keep-alive" forHTTPHeaderField:@"Connection"];
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];
NSLog(@"all headers %@",request.allHTTPHeaderFields);
이 인쇄 : 내 아이폰에서 요청을 보낸
코드 : 여기
모든 추악한 세부 사항입니다 수신 측 (PHP)이 실행됩니다
$allHeaders = getallheaders();
print_r($allHeaders)
얻을 :
Array
(
[Host] => 192.168.0.15
[Accept-Encoding] => gzip, deflate
[Accept] => */*
[Accept-Language] => en-us
[Connection] => keep-alive
[Content-Length] => 0
[User-Agent] => BlahAgent
)
가 난 와이어 상어를하고 있어요 :
POST /php/ajax.php HTTP/1.1
Host: 192.168.0.15
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-us
Connection: keep-alive
Content-Length: 0
User-Agent: BlahAgent
내가 GET과없고 헤더와 가지고 있지만 그것을 다시했다 :
[Host] => 192.168.0.15
[Connection] => keep-alive
[Accept-Encoding] => gzip, deflate
[User-Agent] => Blah%20Agent/1.0 CFNetwork/672.0.8 Darwin/14.0.0
[Accept-Language] => en-us
[Accept] => */*
명시 적으로 명시하지 않았지만 요청을 보내는 프로그램에서 나가는 헤더를 확인해야합니다. 네트워킹 라이브러리에 의해 추가 된 요청 헤더에 대한 프 로그 램 액세스가 필요합니다. 미안하지만 분명하지 않았습니다. – godzilla