【问题标题】:Visual studio web test for api request failure 'Invalid HTTP header characters'用于 API 请求失败的 Visual Studio Web 测试“无效的 HTTP 标头字符”
【发布时间】:2016-01-26 17:00:03
【问题描述】:

我正在尝试从 Visual Studio Web 测试中使用 Oauth2 安全 Web API。我正在使用自定义 WebTestPlugin 和自定义 WebTestRequestPlugin。 Web 测试插件只是从 azure 活动目录中获取令牌并推送到请求中。这似乎工作得很好。我可以看到对令牌的传出请求在提琴手中返回。我使用 Web 测试请求插件为 API 的传出 POST 请求生成 json 字符串。我看不到那个请求被解雇了。我不断收到错误:请求失败:指定的值包含无效的 HTTP 标头字符。参数名称:名称

自定义请求插件代码

public override void PreRequest(object sender, PreRequestEventArgs e)
    {
        var body = new StringHttpBody
        {
            BodyString = EventBuilder.EventBuilder.BuildSingleAuditEvent(_orgId, _tenantId, _hashKey),
            ContentType = "application/json"
        };
        e.Request.Body = body;
    }

我在 Visual Studio Webtest 中使用服务请求,但 String Body 变量中没有任何内容。

如您所见,字符串主体的属性中没有设置任何内容。

这里是成功的 oauth 请求的提琴手踪迹

我错过了什么?

【问题讨论】:

  • Visual Studio 中 webtest 结果的“请求”选项卡针对失败的请求显示什么? Fiddler 的检查面板将显示发送的任何请求的全部内容(标头和正文)。这两个插件实际上做了什么(即它们的代码是什么)?你说一个工作正常,所以edit这个问题显示另一个的代码。

标签: c# visual-studio azure load-testing webtest


【解决方案1】:

这是身份验证令牌格式的问题。 标头值通过:“Authorization: Bearer”、“TokenValue” 什么时候应该是“Authorization:”、“Bearer TokenValue”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 2014-10-26
    • 2016-03-03
    • 1970-01-01
    • 2021-12-17
    • 2023-01-08
    • 2016-12-12
    • 1970-01-01
    相关资源
    最近更新 更多