HttpClient:如何发送参数和检索答案

时间:2019-06-28 19:07:53

标签: c# http

我需要向许可证服务器发送请求。 我像这样用FireFox尝试过:

http://my.server.com/sub/?aaa=5d1606&bbb=ccc&key=5d160

,并且有效。我得到正确的答复。 现在,我在C#中做到了:

using (var client = new HttpClient())
{
    var SKey = "blabla";
    var LKey = "bloblo";
    string param = String.Format($"?aaa={SKey}&bbb=ccc&key={LKey}");
    Debug.WriteLine(param);
    var content = new StringContent(param);
    HttpResponseMessage response = await client.PostAsync("http://my.server.com/sub/", content);
    responseString = await response.Content.ReadAsStringAsync();
    Debug.WriteLine(responseString);
}

不起作用:responseString为null。 有什么建议/解决方案/备注吗? 我将不胜感激。

1 个答案:

答案 0 :(得分:1)

您的内容没有像您所做的那样被序列化以在POST请求中传递。

要么将服务器设置为接收JSON正文内容,然后使用JSON seralizer将内容传递给服务,要么将参数附加到url并将其传递给您的请求。

HttpResponseMessage response = await client.PostAsync("http://my.server.com/sub/" + param);