2011-05-30 21 views
5

私はStoreKit経由でAppStoreにアクセスし、自分のサーバーをhttpsでアクセスするいくつかのiosプログラミングを行っています。私は企業ファイアウォールの背後からこれらの両方にアクセスしようとしています。私は 'No Auth'、 'Basic Auth'、& 'NTLM Auth'を必要とするプロキシサーバーにアクセスできます。iOS 4.3でのHTTPプロキシ認証

「No Auth」によるアクセスに問題はありませんが、他の2つは私に頭痛を与えています。 NSURLRequestを使用してサーバーに接続していますが、戻ってきています: [NSHTTPURLResponse statusCode]:407 - プロキシ認証が必要です "Cache-Control" = "no-cache"; "Content-Length" = 2428; "Content-Type" = "text/html"; Expires = 0; "プロキシ認証" = "基本領域= \" WebMarshalプロキシサーバー\ ""; "Proxy-Connection" = "キープアライブ"; サーバー= "WebMarshal Proxy"; Via = "1.1 NZ8KS49CH"; "X-Webmarshal-Requestid" = "8854B349-B35E-48EF-A643-3C6C6FEC5F9C"; }

「プログラミングガイド」を読むと、NSURLクラス '...は、ユーザーのシステム環境設定を使用してプロキシサーバーとSOCKSゲートウェイの両方を透過的にサポートしています。

しかし、自発的にジョブを処理しているようには見えませんが、プロキシ認証を手動で処理する方法についてはほとんど参考になりません。

「Proxy-Authorization」ヘッダーを使用して手動でリクエストを再実行する必要がありますか? その場合、現在のユーザーの資格情報を呼び出すか、またはプロンプトするためにどのインターフェイスが使用されますか?

私はNTLM認証がNSURLConnectionでサポートされていないように見えますが、Basic Authはそうでなければならないと期待していません。

ありがとうございます...

答えて

1

はい手動でプロキシ認証リクエストを処理する必要があります。

認証の挑戦のセクションsee hereを読んでください。

簡単に言えば、nsurlconnectionデリゲートのイベントに応答します。その後、ユーザーにプロキシのユーザー名とパスワードを要求し、その後、認証の詳細を要求に応答します。 (iOSがそのような要求を処理するように要求を再送信する必要はありません)。