【问题标题】:How can I the see actual raw request that gets sent如何查看发送的实际原始请求
【发布时间】:2013-02-24 14:50:50
【问题描述】:

为了查看原始响应,我使用了 OnBeforeDeserialization 事件,但我想查看原始请求,因为我遇到了错误并且我想确切地知道正在发送什么。
有没有办法在不使用 restsharp 源代码和调试的情况下做到这一点?
谢谢

编辑 1:
设法用提琴手捕捉流量: 这是请求的 TextView:

assignee=test&milestone=0&state=open&title=test%20issue&body=test%20issue

这是回复:

{"message":"Problems parsing JSON"}

这是我配置请求的方式:

var request = new RestRequest();

    request.Resource = "repos/" + repo_slug + "/issues";
    request.Method = Method.POST;
    request.OnBeforeDeserialization = resp => { cnt = resp.Content; };
    // Convert Issue:
    GitModels.IssuePost toPostIssue = Git2Bit.GitModels.Bit2GitTranslator.translate(bitIssue);

    request.AddParameter("assignee", toPostIssue.assignee, ParameterType.GetOrPost);
    request.AddParameter("milestone", toPostIssue.milestone, ParameterType.GetOrPost);

    request.AddParameter("state", toPostIssue.state, ParameterType.GetOrPost);

    request.AddParameter("body", toPostIssue.body, ParameterType.GetOrPost);

获取问题而不是发布作品。:|

【问题讨论】:

  • 提琴手中没有任何显示。
  • 您如何配置您的请求?您必须让客户端将请求发送给提琴手,然后让提琴手将请求转发到服务器。
  • 请不要在问题标题中重复标签。
  • 为了对依赖于 RestSharp 的东西进行单元测试,不必必须使用 Fiddler... 因为在单元测试中很难使用它/模拟上下文。

标签: c# rest restsharp


【解决方案1】:

提琴手成功了,不知道为什么第一次没有成功。
至于在 github 上发布问题,我必须以 JSON 格式发送请求,如下所示:

request.RequestFormat = DataFormat.Json;
request.AddHeader("Accept", "application/json");
request.OnBeforeDeserialization = resp => { cnt = resp.Content; };

GitModels.IssuePost toPostIssue = Git2Bit.GitModels.Bit2GitTranslator.translate(bitIssue);

request.AddBody(toPostIssue);

基本上我必须设置正确的请求格式并添加到请求的正文中,而不必添加参数

【讨论】:

    猜你喜欢
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多