2012-09-12 11 views
7

私はWebサーバに頻繁にリクエストするiOSアプリケーションを開発しています。私はAFNetworkingを使用しています。しかし、私は解決できない認可の問題にぶち当たっています。AFNetworkingで承認ヘッダが送信されない

サーバーでは、必要な応答を得るために認証ヘッダーを入力する必要があります。具体的には、認証ヘッダはそうのようにする必要があります:

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

私はプロジェクト全体AFNetworkingを使用していて、すべてがこの承認の問題を除いて、正常に動作します。

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

myClientポイントAFHTTPClientオブジェクトへの:私は、次のコードを使用しています。奇妙なことに、私がAFHTTPRequestOperationLoggerを使ってXCodeで要求を記録すると、ロガーは正しいヘッダーが設定されていると主張します。ただし、承認ヘッダーはサーバーに届いていないようです。サーバーログには表示されません。

問題を特定するために、私は正確に同じ古き良きNSURLRequestを使用して要求だけでなく、curl、およびPythonで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

関連する問題