1

我正在对将多部分/表单数据数据发布到 MVC3 中的控制器的外部服务之间的集成进行故障排除。

在生产服务器上,我使用HttpRequest.SaveAs将错误请求捕获到文件中。

有什么工具可以用来在我的本地主机上“重放”请求,以便我可以使用 Visual Studio 进行调试?

(我一直在尝试使用提琴手,但无法使其正常工作。如果使用 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. 从记事本中将请求正文粘贴到请求正文中

POST:http:///localhost控制器/动作

请求标头:

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 回答