プログラムで HTTP ポストを送信する必要がある Web アプリケーション (制御できない) があります。現在、私はHttpWebRequestを次のように使用しています
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://someserver.com/blah/blah.aspx");
ただし、アプリケーションは、データへの投稿時に「不明なサーバー エラー (IIS エラーではなく、カスタム アプリケーション エラー ページ)」を返していました。Fiddler を使用して Post と IE の投稿を比較すると、唯一の違いはリクエストの POST 行にあることがわかります。
Internet Explorer Fiddler (RAW ビュー) でトラフィックを表示
POST /何とか/何とか.aspx HTTP/1.1
私のC#プログラムのフィドラー(RAWビュー)では、トラフィックを次のように記録します
POST https://someserver.com/blah/blah.aspx HTTP/1.1
これは、両方の要求の違いだけです。
私がこれまでに調査したことから、HttpWebRequest.Create に相対 URL を投稿させる方法はないようです。まだ絶対 URL を使用して行われている (HTTP トラフィックをスニッフィングする場合)
相対 URL を使用してこの投稿を行う最も簡単な方法は何ですか?
(トラフィックはプロキシを経由しません)
更新: 当分の間、上記の方法ではなく、スケジュールされたパフォーマンス テストを行うために IE 自動化を使用しています。ブラウザなしでテストしたかったので、別のスクリプト言語を検討するかもしれません。