2012-04-25 2 views
4

프로그래밍 방식으로 내 응용 프로그램의 User-Agent 문자열을 검색하려고합니다. (참고 :. 하지을 내 응용 프로그램에있는 UIWebView의 UA, NSURLConnection 기반의 HTTP 요청에 대한 UA)내 응용 프로그램의 CFNetwork 수준 User-Agent는 어떻게 읽을 수 있습니까?

읽기 방법에 대한 가이드 많이 있어요 상기하는 방법에 대한 응용 프로그램의 UIWebViewUser-Agent하지만 없음 CFNetwork은 HTTP 요청 안에 들어 있습니다. <appname>/1.0 CFNetwork/456.23 문자열입니다. 모든 헤더 필드를 복사하려면 CFHTTPMessage에 대한 API가 있지만, NSURLRequestNSURLResponse 만 있으며 이러한 필드는 브리징되지 않은 불투명 한 유형입니다. 도움!

은 (좋은 배경 읽기 : Changing the userAgent of NSURLConnection 내가 얻을하고자하는 형식을 언급 What HTTP User-Agent does my iOS program advertise itself as?뿐만 아니라 않습니다..)

+0

헤더를 검색하는 대신, 번들, UIDevice 및 다음과 같은 테이블의 정보에서 파생시킬 수 있습니까? 물론, 당신은 테이블을 완료해야하지만, 거기에 장치/OS 콤보의 유한 번호가 귀하의 응용 프로그램에 대해 신경 쓰지 않을거야 ... http://stackoverflow.com/questions/6239553/a-list-of- 연결 - cfnetwork-version-numbers-to-the-version이 – sam

답변

2

완전히 트위스트 : 포트 80에서 로컬 소켓을 생성하고 (자신에게) 로컬 요청을 HTTP 헤더를 읽으십시오.

+1

이것은 농담이 아니며 지금까지 생각해 낸 더 나은 해결책 중 하나입니다. 이건 그냥 미친 짓이야, 맞지? – cbowns

+0

코드를 공유 할 수 있습니까? –