3

UIWebView에서 잘 서버에서 plist를로드하는 iPad 응용 프로그램이 있지만 서버에서 응답 문자열로 가져 오려고하면 응답으로 http 상태 코드 400을 반환합니다. 문자열을 요청 오류 (invalid_request)로 보냅니다.http 상태 코드 400 중동 국가에서

중동 국가에서만 발생합니다. 아랍 에미리트 연합 (United Arab Emirates)의 한 사용자가 테스트를 위해 임시 빌드를 보낸 사람에게 문제에 대해 확인했습니다. 응용 프로그램은 상태 코드 400을 반환하지만 UIWebView에서는 plist가 정상적으로로드됩니다.

저는 AWS 서버와 미국에서 호스팅 된 다른 서버 2 대를 사용해 왔습니다. 두 서버 모두 동일한 상태 코드를 제공합니다.

왜 그런 일이 일어날 지 제안 할 수 있습니까? 이 문제인지,하지만이 줄 경우

..... 
    ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; 
    [request addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"]; 
    [request addRequestHeader:@"Accept-Encoding" value:@"text/xml;charset=utf-8"]; 

    [request setRequestMethod:@"GET"]; 
    [request setDelegate:self]; 

    [request setDidFinishSelector: @selector(gotTheResponse:)]; 

    [request setDidFailSelector: @selector(requestFailed:)]; 
    [networkQueue addOperation: request]; 
    [networkQueue go]; 
.... 
+3

아마도 검열? – vikingosegundo

+0

국가를 지정할 수 있습니까? – Ency

+0

ISP는 귀하가 방문 할 수있는 웹 사이트를 제어합니다. 귀하가 언급 한 국가 중 하나가 .com 웹 사이트를 말하는 것을 원하지 않는다면, 그 나라에 대해 아무 것도 할 수 없습니다. 귀하의 사이트를 때리면. – Joe

답변

0

잘 모르겠어요 :

[request addRequestHeader:@"Accept-Encoding" value:@"text/xml;charset=utf-8"]; 

수락에 대한 잘못된 값을 설정하는 것입니다 여기에

는 코드의 일부입니다 내가 믿는 코딩 헤더. 더 일반적인 값은 "compress, gzip"이 될 것이므로 직접 설정하지 않아도됩니다. 서버가 반환 한 text/xml을 원한다면 "Accept"헤더로 들어가야합니다. 서버 설정에 따라 필요하지 않을 수도 있습니다.

GET 요청에 Content-Type 헤더를 사용하는 것도 드문 경우입니다. 추가 이유가 있습니까?

마지막으로 URL에 비정상적인 문자가 포함되어 있으면 프록시 서버에서 오류가 발생할 수 있습니다.