2012-09-12 3 views
7

웹 서버에 자주 요청하는 iOS 앱을 개발 중이며 AFNetworking을 사용하고 있습니다. 그러나, 난 그냥 해결할 수없는 권한 문제가있어.AFNetworking을 사용하여 인증 헤더를 보내지 않았습니다.

서버는 내가 원하는 응답을 얻기 위해 인증 헤더를 제공해야합니다. 내가 프로젝트 전반에 걸쳐 AFNetworking을 사용하고

Authorization = "ApiKey some-user-name:someNumericalApiKey" 

, 모든 것이이 승인 문제를 제외하고 잘 작동 : 특히, 인증 헤더과 같이해야한다. 나는 다음과 같은 코드를 사용하고 있습니다 :

[myClient setDefaultHeader:@"Authorization" value:@"ApiKey some-user-name:someNumericalApiKey"]; 

곳 AFHTTPClient 객체에 myClient 점. 이상하게도 XCode에서 요청을 AFHTTPRequestOperationLogger을 사용하여 기록하면 로거가 올바른 헤더를 설정했다고 주장합니다. 그러나 권한 헤더가 서버에 도달하지 못하는 것 같습니다. 서버 로그에서 볼 수 없습니다.

문제를 분리하려면, 나뿐만 아니라 curl 아니라, 좋은 오래된 NSURLRequest를 사용하여 동일한 요청을 만들려고하고 requests 라이브러리 파이썬에서 한 - 인증 헤더가 &을 보내 수신 즉, 이들 모두가 잘 작동 (즉 서버 로그에서 볼 수 있음) 서버 응답이 있어야합니다.

누구나 동일한 문제가 발생하여 해결 방법을 찾은 경우 연락을 많이 보내 주시면 감사하겠습니다.

감사합니다.

+0

히트 서비스가 Heroku의 Django 응용 프로그램입니다. – Khandelwal

+0

오늘 같은 문제가 발생했습니다. 엄청 이상해. –

+0

이 모든 솔루션 !? – bpn

답변

0

조작을 수동으로 구성하면 defaultHeaders가 적용되지 않아 문제의 원인 일 수 있습니다.

2

때때로 (특히 Django의 경우) 이는 헤더 매개 변수의 리디렉션 스트리핑으로 인해 발생합니다. 예를 들어,/Object는 백그라운드에서/Object /로 리디렉션하고 전환 중에 필요한 auth 매개 변수를 제거합니다.

레벨 AFLoggerLevelDebugAFNetworkActivityLogger을 사용중인 경우 콘솔에서이를 확인할 수 있습니다./Object가있는 POST 요청과/Object /가 포함 된 응답이 표시되면 리디렉션 제거가 수행되고 있음을 나타낼 수 있습니다.

+0

이 대답은 정답입니다. 참조 : https://github.com/AFNetworking/AFNetworking/issues/2116 – TharakaNirmana

관련 문제