gpt4 book ai didi

vb.net - VB.NET中的 curl 请求等效

转载 作者:行者123 更新时间:2023-12-04 18:29:10 24 4
gpt4 key购买 nike

照原样,我正在尝试使用Watson服务,该服务向URL发出发布请求,而cURL代码如下。我该如何使用Visual Basic语言在Visual Studio中执行此请求的等效操作?

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), 0, 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), 0, 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

关于vb.net - VB.NET中的 curl 请求等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41496971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com