0

HTTP Post を受け入れ、ファイルをフォルダーに保存する単純な ASP.Net Web サイトがあります。

Web ページ自体が「Authorization」HTTP ヘッダーを探します。

ファイルをアップロードするために HTTP Post をアップロードする単純な C# アプリを作成しました。

using (var client = new WebClient())
        {
            client.Headers.Add(HttpRequestHeader.Authorization,
                "Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("username:password")));
            client.Headers.Add("TestHeader", "test");
            client.Headers.Add("FileName", "RRO_D_VI_DLCRS_PPERASV02000000__01_02_001_91772ef0-e758-4886-b070-4db4cafe5366.gz");
            ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
            byte[] result = client.UploadFile(url, fileToUpload);
            string responseAsString = Encoding.Default.GetString(result);
        }

Web サイトがローカル PC で実行されていて、テスト プログラムを実行すると、正常に動作します。QA サーバー (Windows Server 2003) から Web サイトを実行し、テスト プログラムを実行すると、正常に動作します。

ただし、実稼働サーバー (VPN 経由でアクセス) (Windows Server 2003 および IIS6) から Web サイトを実行すると、"Authorization" ヘッダーが完全に失われます。設定した他のすべての HTTP ヘッダーは表示されますが、Authorization ヘッダーは完全に削除されています。

Fiddler's Composer を使用してテストしたところ、同じ結果が得られました。別の人に、完全に別のネットワーク (VPN を使用しない) から Web サイトへのアクセスを試みてもらいましたが、同じ結果が得られました。

Authorization HTTP ヘッダーが削除される原因は何ですか? 何か案は?

ありがとう!

更新* わかりました、問題が見つかりました。POST を www.MyDomain.com に送信しています。Web サイトの既定のページは Default.aspx です。www.MyDomain.com/Default.aspx にリクエストを送信すると、正常に動作します。リクエストが www.MyDomain.com に送信されたときに、Authorization ヘッダーを Default.aspx に転送するにはどうすればよいですか?

4

0 に答える 0