Watson 对话框 cURL 对话 post 请求未传递表单数据
Watson dialog cURL conversation post request not passing form data
当发出如下 post cURL 请求以尝试继续创建的对话 watson 而不是 returns 新对话时。
curl -u "USERNAME":"PASSWORD" -X POST --form conversation_id=CONVOID --form client_id=CLIENTID --form input="What type of toppings do you have?" "https://gateway.watsonplatform.net/dialog/api/v1/dialogs/DIALOGID/conversation"
如果我使用下面的 cURL,它工作正常。
curl -u "USERNAME":"PASSWORD" --data "conversation_id=CONVOID&client_id=CLIENTID&input=What type of toppings do you have?" https://gateway.watsonplatform.net/dialog/api/v1/dialogs/DIALOGID/conversation
我的问题是现在尝试编写 c# 包装器时我 运行 遇到了 POST 请求无法正确传输其表单数据的相同问题。
这是怎么回事?
我要么需要一个等同于“--data
”格式的 c# MVC。 (当前使用 HttpClient.PostAsync
)或弄清楚使用 post 请求继续对话到底有什么问题。
据我所知,我正在正确地用 c# 复制 post 请求,所以我认为没有两个问题。 (只有一个 post 请求问题,不是 cURL 问题,而是 C# 实现问题。)
为了值得,我保留了我提交的命令的格式,只用 BLOCKCAPITALS 替换了敏感值。如果看起来我漏掉了引号或大括号,那是因为我有并且可能是问题的原因。
服务需要一个 application/x-www-form-urlencoded
POST 请求
要在 curl
中执行此操作,您需要使用 -d
参数:
curl -u "USERNAME":"PASSWORD" -X POST
-d conversation_id=CONVOID
-d client_id=CLIENTID
-d input="What type of toppings do you have?"
"https://gateway.watsonplatform.net/dialog/api/v1/dialogs/DIALOGID/conversation"
-d, --data
(HTTP) Sends the specified data in a POST request to the HTTP server, in the same way that a browser does when a user has filled in an HTML form and presses the submit button. This will cause curl to pass the data to the server using the content-type application/x-www-form-urlencoded. Compare to -F, --form.
当发出如下 post cURL 请求以尝试继续创建的对话 watson 而不是 returns 新对话时。
curl -u "USERNAME":"PASSWORD" -X POST --form conversation_id=CONVOID --form client_id=CLIENTID --form input="What type of toppings do you have?" "https://gateway.watsonplatform.net/dialog/api/v1/dialogs/DIALOGID/conversation"
如果我使用下面的 cURL,它工作正常。
curl -u "USERNAME":"PASSWORD" --data "conversation_id=CONVOID&client_id=CLIENTID&input=What type of toppings do you have?" https://gateway.watsonplatform.net/dialog/api/v1/dialogs/DIALOGID/conversation
我的问题是现在尝试编写 c# 包装器时我 运行 遇到了 POST 请求无法正确传输其表单数据的相同问题。
这是怎么回事?
我要么需要一个等同于“--data
”格式的 c# MVC。 (当前使用 HttpClient.PostAsync
)或弄清楚使用 post 请求继续对话到底有什么问题。
据我所知,我正在正确地用 c# 复制 post 请求,所以我认为没有两个问题。 (只有一个 post 请求问题,不是 cURL 问题,而是 C# 实现问题。)
为了值得,我保留了我提交的命令的格式,只用 BLOCKCAPITALS 替换了敏感值。如果看起来我漏掉了引号或大括号,那是因为我有并且可能是问题的原因。
服务需要一个 application/x-www-form-urlencoded
POST 请求
要在 curl
中执行此操作,您需要使用 -d
参数:
curl -u "USERNAME":"PASSWORD" -X POST
-d conversation_id=CONVOID
-d client_id=CLIENTID
-d input="What type of toppings do you have?"
"https://gateway.watsonplatform.net/dialog/api/v1/dialogs/DIALOGID/conversation"
-d, --data
(HTTP) Sends the specified data in a POST request to the HTTP server, in the same way that a browser does when a user has filled in an HTML form and presses the submit button. This will cause curl to pass the data to the server using the content-type application/x-www-form-urlencoded. Compare to -F, --form.