Post on 19-Jul-2015
HTTP アクセスはこうあると
Ahf(小尾 智之)
self introduction VB 使い
WF メイニア
CLR/H スタッフ
てすとぶろぐ http://blogahf.blogspot.jp/
@twit_ahf
Tomoyuki.Obi @IT エンジニアライフ
地方からの戯言
プロレス好き DDT / BJW / K-DOJO みちのくプロレス
HTTP アクセスするアプリ
よく作ったりしますね?
HttpWebRequest で簡単に GET
大体そんな感じ?
あるアプリを作った時
• 自分の環境では問題なく通信できるのに
他の環境では通信ができない現象が AD
DB
PROXY ROUTER
L2、L3
VLAN 1
VLAN 2
AD
DB
PROXY ROUTER
L2、L3
VLAN 1
VLAN 2
WORKGROUP
DOMAIN
どうやら WORKGROUP 配下か DOMAIN 配下で
できるできないがあるらしい
AD
DB
PROXY ROUTER
L2、L3
VLAN 1
VLAN 2
WORKGROUP
DOMAIN
WORKGROUP 配下:一度だけ PROXY 認証が必要
DOMAIN 配下:プロセス単位で PROXY 認証が必要
認証 PROXY がプロセス毎に
やらかしてくれたのが原因
対応案1 認証用のアカウントとパスを送信する
その情報をどこに持つのか
を考えるとあまりよろしくない
対応案2 認証を求められたら入力させる
PROXY認証
• HttpStatusCode.
ProxyAuthenticationRequired ‘407
• リクエストして WebException を
キャッチした際に判定
• 407 の場合、認証情報を入力させリトライ
まとめ
• HTTP アクセスとかはよく共通部品としてつくる事があるけども、認証プロキシについてはそこでカバーしてないと泣く
• ステータス 407 をちゃんと判定するだけ
• それだけでほとんどの環境で動く
• いいからやれ