1

multipart/form-data データを MVC3 のコントローラーにポストする外部サービス間の統合のトラブルシューティングを行っています。

運用サーバーでは、 HttpRequest.SaveAsを使用して誤った要求をファイルにキャプチャしました。

Visual Studio でデバッグできるように、localhost で要求を「再生」するために使用できるツールはありますか?

(私はフィドラーで試してきましたが、正しく動作させることができません。POSTを使用して単純なフォームからローカルリクエストをダンプすると、コントローラーはファイルを正しく受信します。同じリクエストをダンプしてコピーすると、フィドラーに次のように貼り付けますraw と send のファイルが見つからないため、何か問題があります。)

リクエストをダンプする組み込み関数があるため、リクエストを再送信する公式の方法である可能性があると考えています。これを達成する方法はありますか?

4

2 に答える 2

2

NCAT コマンド ライン ツールを使用して、SaveAs メソッドによってキャプチャされた要求を再生しました。コマンドは次のようになります。

NCAT localhost 80 < CapFileName

NMAPライブラリで見つけることができます

詳細については、私のブログを参照してください。

于 2013-01-18T14:19:14.713 に答える
0

コンポーザーでこれを正確に行うと、フィドラーで動作するようになりました。

  1. ダンプファイルをメモ帳で開く
  2. 解析済みを選択
  3. Content-Type のみをヘッダーとして入力します (そして、それらが同じであっても、フィドラーに他のものを追加させます)
  4. メモ帳から要求本文に要求の本文を貼り付けます

投稿: http:// localhost/Controller/Action

リクエスト ヘッダー:

Content-Type: multipart/form-data; boundary=fJP-UWKXo6xvqX7niGR0StXXFQwdKhHc9quF

リクエスト本文:

--fJP-UWKXo6xvqX7niGR0StXXFQwdKhHc9quF
Content-Disposition: form-data; name="mmsimage"; filename="IMG_0959.jpg"
Content-Type: image/jpeg; name=IMG_0959.jpg; charset=ISO-8859-1
Content-Transfer-Encoding: binary

<the encoded file goes here as jibberish>

--fJP-UWKXo6xvqX7niGR0StXXFQwdKhHc9quF
Content-Disposition: form-data; name="somefield"
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

value of somefield
--fJP-UWKXo6xvqX7niGR0StXXFQwdKhHc9quF--
于 2012-07-02T10:06:29.990 に答える