首页 > 解决方案 > 如何将沙人请求转换为 .net(VB 或 C#)

问题描述

我正在尝试将沙人请求转换为 VB(或 C#),但总会出现问题。有人可以告诉我如何做到这一点。

这是我的 Sandman 系列:

{
    "info": {
        "_postman_id": "FA79A60C-A699-45ED-9A3C-67464BF2F474",
        "name": "test",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "item": [
        {
            "name": "https://api.testman.se/request/v42/person-nr?q=190103245566",
            "request": {
                "auth": {
                    "type": "bearer",
                    "bearer": [
                        {
                            "key": "token",
                            "value": "Bearer 6854DBC2-73AF-4857-9391-F97FEC37779E",
                            "type": "string"
                        }
                    ]
                },
                "method": "GET",
                "header": [],
                "url": {
                    "raw": "https://api.testman.se/request/v42/person-nr?q=190103245566",
                    "protocol": "https",
                    "host": [
                        "api",
                        "testman.se",
                        "se"
                    ],
                    "path": [
                        "request",
                        "v42",
                        "person-id"
                    ],
                    "query": [
                        {
                            "key": "q",
                            "value": "190103245566"
                        }
                    ]
                }
            },
            "response": []
        }
    ]
}

我从网上尝试了几个不同的建议,这是最新的。但它给出错误“无法使用此动词类型发送内容文本”

和代码:

    Public Async Sub test()
        Dim _T As New auth
        Dim client As New HttpClient
        Dim RS As Object
        Dim req As New HttpRequestMessage
        Dim Url As String = "https://api.testman.se/request/v42/person-nr?q=190103245566"
        Dim response As New HttpResponseMessage

        _T.bearer.key = "token"
        _T.bearer.type = "string"
        _T.bearer.value = "Bearer 6854DBC2-73AF-4857-9391-F97FEC37779E"
        _T.type = "bearer"

        req.Headers.Clear()
        req.Method = HttpMethod.Get
        req.RequestUri = New Uri(Url)
        req.Content = New StringContent(New JavaScriptSerializer().Serialize(_T), System.Text.UTF8Encoding.UTF8, "application/json")

        Try
            req.Headers.Add("Accept-Language", "en-us")
            req.Headers.Add("UA-CPU", "x86")
            req.Headers.Add("Cache-Control", "no-cache")

            response = Await client.SendAsync(req).ConfigureAwait(False)
            response.EnsureSuccessStatusCode()

        Catch ex As Exception
            Dim ss As String = ex.Message
        End Try

        Dim jss As New JavaScriptSerializer()
        'Dim dict As New TDListRequest
        'dict = jss.Deserialize(Of TDListRequest)(_RS)
    End Sub

有没有人可以给我一个想法如何解决这个问题?

2021 年 5 月 27 日更新。

我在我的电脑上安装了 Postman,它很容易设置。当我在邮递员中提出请求时,它直接起作用。

我在 Postman 帮助中阅读了有关“承载令牌”的内容: “承载令牌允许请求使用访问密钥进行身份验证,例如 JSON Web 令牌 (JWT)。令牌是一个文本字符串,包含在请求标头中。” 所以我认为我必须对我的数据和密钥进行一些分类,然后以某种方式对其进行加密,然后将其放入 DefaultRequestHeaders

我是我在正确的方式,或者?

/克拉斯

标签: c#vb.netresthttprequest

解决方案


推荐阅读