2016-09-19 13 views
2

NSURLSession 요청 HTTP/2.0iOS10 NSURLSession HTTP/2 무효

iOS9에서 작동합니다. iOS10

에서

enter image description here

하지만 잘못된 enter image description here

내 코드 : 찰스 프록시 4 HTTP/2를 사용하지 아이폰 OS 10을 일으킬 것 같은



    NSURLSession *session = [NSURLSession sharedSession]; 
    request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://ga.seeyouyima.com/page"]]; 
    [request setHTTPMethod:@"POST"]; 
    [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
     if (completedBlock) { 
      completedBlock(data, response, error); 
     } 
    }] resume]; 

+1

코드는 필수 항목입니다. –

+0

인증서 구성에 문제가있을 수 있습니다. 비슷한 (issue) (http://stackoverflow.com/q/39544547/3871718). – new2ios

+0

서버 인증서는 TLSv1.2를 사용합니다. –

답변

7

것 같습니다. 아이폰 OS와 함께 잘 작동하는 것 같다 9

당신은 아이폰 OS 10에서 모바일 사파리에서 아카 마이 HTTP/2 데모를로드하여이를 입증 할 수

: 당신은 찰스 프록시를 사용하는 경우

https://http2.akamai.com/demo

사이트를 방문하는 동안 브라우저가 HTTP/2를 지원하지 않는다고보고합니다.

+0

이것은 올바른 대답입니다. Charles Proxy 4는 iOS 10이 HTTP/2를 사용하지 않도록합니다. Charles Proxy 4를 사용하여 HTTP/2 요청을 스니핑해야하는 경우 iOS 9를 사용하십시오. – ccoroom

+0

또한 궁금한 사람들을 위해 iOS 9 시뮬레이터가이 작업을 수행합니다. –

+0

HTTP 2를 사용하여 Charles와 NSURLSession과 동일한 동작을하지만 이상한 경우 친절합니다. Charles가 다른 HTTP 2 요청 (예 : 말림)을 프록시하는 데 성공하는 동안 HTTP 2가 실패하는 이유는 무엇입니까? – Jan