加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

卷曲请求等效于VB.NET

发布时间:2020-12-17 07:19:36 所属栏目:百科 来源:网络整理
导读:实际上,我正在尝试使用Watson服务,该服务向URL发出请求,并且cURL代码如下所示.如何在Visual Studio中使用Visual Basic语言执行此请求的等效操作? curl -X POST -u "{username}":"{password}" —-header "Content-Type:application/json" --data "{"input"
实际上,我正在尝试使用Watson服务,该服务向URL发出请求,并且cURL代码如下所示.如何在Visual Studio中使用Visual Basic语言执行此请求的等效操作?

curl -X POST -u "{username}":"{password}" —-header "Content-Type:application/json" --data "{"input": {"text": "Turn on the lights"},"context": {"conversation_id": "1b7b67c0-90ed-45dc-8508-9488bc483d5b","system": {"dialog_stack": ["root"],"dialog_turn_counter": 1,"dialog_request_counter": 1}}}" "https://gateway.watsonplatform.net/conversation/api/v1/workspaces/25dfa8a0-0263-471b-8980-317e68c30488/message?version=2016-09-20"

有关更多信息,请参阅文档的URL以及解决方案cURL:

https://www.ibm.com/watson/developercloud/conversation/api/v1/

凭证和其他一切都很好.我把它从我的Node.js示例中删除了:

var watson = require('watson-developer-cloud');

var conversation = watson.conversation({
  username: '1793094a-e543-4e3a-891d-4b619f21271d',password: 'xjmacpjHceRj',version: 'v1',version_date: '2016-09-20'
});

// Replace with the context obtained from the initial request
var context = {};

conversation.message({
  workspace_id: '7c7b099b-aed4-4d27-a379-8b2f33644600',input: {'text': 'Turn on the lights'},context: context
},function(err,response) {
  if (err)
    console.log('error:',err);
  else
    console.log(JSON.stringify(response,null,2));
});

VB.NET实现.

Dim myReq As HttpWebRequest
    Dim myResp As HttpWebResponse
    Dim reader As StreamReader

    Try
       myReq = HttpWebRequest.Create("https://gateway.watsonplatform.net/conversation/api/v1/workspaces/7c7b099b-aed4-4d27-a379-8b2f33644600/message?version=2016-09-20")

        myReq.Method = "POST"
        myReq.ContentType = "application/json"
        myReq.Headers.Add("Authorization",Convert.ToBase64String(Encoding.Default.GetBytes("1793094a-e543-4e3a-891d-4b619f21271d:xjmacpjHceRj")))
        Dim myData As String = "{input: {text: " + txtEnviar.Text + "},context: {conversation_id: 1b7b67c0-90ed-45Dc-8508-9488bc483d5b,system: {dialog_stack: [root],dialog_turn_counter: 1,dialog_request_counter: 1}}}"

        myReq.GetRequestStream.Write(System.Text.Encoding.UTF8.GetBytes(myData),System.Text.Encoding.UTF8.GetBytes(myData).Count)
        myResp = myReq.GetResponse
        Dim myreader As New System.IO.StreamReader(myResp.GetResponseStream)
        Dim myText As String
        myText = myreader.ReadToEnd()

        txtMuestra.Items.Add(myText)

        Catch ex As Exception
            txtMuestra.Items.Add(ex)
    End Try
End Sub

但是我收到了身份验证错误.我想发送身份验证的方法未经头部授权是不正确的.我不是VB.NET的用户,所以这就是为什么我有我的并发症.

image error

解决方法

Dim myReq As HttpWebRequest
Dim myResp As HttpWebResponse

myReq = HttpWebRequest.Create("https://meineURI.net")

myReq.Method = "POST"
myReq.ContentType = "application/json"
myReq.Headers.add("Authorization","Basic " & Convert.ToBase64String(Encoding.UTF8.GetBytes("username:password")))
Dim myData As String = "yourDataHere"
myReq.GetRequestStream.Write(System.Text.Encoding.UTF8.GetBytes(myData),System.Text.Encoding.UTF8.GetBytes(myData).Count)
myResp = myReq.GetResponse
Dim myreader As New System.IO.StreamReader(myResp.GetResponseStream)
Dim myText As String
myText = myreader.ReadToEnd

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读