Visual studio Web 测试 api 请求失败 'Invalid HTTP header characters'

Visual studio web test for api request failure 'Invalid HTTP header characters'

我正在尝试从 visual studio 网络测试中访问 Oauth2 安全网络 API。我正在使用自定义 WebTestPlugin 和自定义 WebTestRequestPlugin。 Web 测试插件只是从 Azure 活动目录中获取令牌并将其推送到请求中。这似乎工作得很好。我可以看到对令牌的传出请求在 fiddler 中返回。我使用 Web 测试请求插件为 API 的传出 POST 请求生成 json 字符串。我看不到该请求被解雇了。我不断收到错误消息:请求失败:指定值包含无效的 HTTP Header 字符。参数名称:name

自定义请求插件代码

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 变量中没有任何内容。

如您所见,字符串 Body 的属性中没有任何设置。

这是成功的 oauth 请求的 fiddler trace

我错过了什么?

这是身份验证令牌格式的问题。 header 值为:"Authorization: Bearer"、"TokenValue" 当它应该是 "Authorization:"、"Bearer TokenValue"