Watson对话cURL会话发布请求不传递表单数据

如下所示,在发布cURL请求时尝试继续创建的会话watson而不是返回新的会话。

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 

我的问题是,现在当我尝试编写ac#wrapper时,我遇到的问题是POST请求无法正确传输表单数据。

这是怎么回事 ?

我要么需要相当于“ --data ”格式的ac#MVC。 (目前使用HttpClient.PostAsync )或找出使用post请求继续对话的确切错误。

据我所知,我正在正确复制c#中的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)将POST请求中的指定数据发送到HTTP服务器,就像用户填写HTML表单并按下提交按钮时浏览器一样。 这将导致curl使用content-type application / x-www-form-urlencoded将数据传递到服务器。 比较-F, – form。

curl文档