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

C# HttpClient:如何发送参数和检索答案,c#,http,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($"?aa

我需要向许可证服务器发送请求。 我用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为空。 有什么建议/解决方案/意见吗?
我将不胜感激。

您的内容没有像您现在这样被序列化以在POST请求中传递

要么将服务器设置为接收JSON正文内容并使用JSON序列化程序将内容传递给服务,要么将参数附加到url并将其传递给请求

HttpResponseMessage response=wait client.PostAsynchttp://my.server.com/sub/ +param;
如果它在FireFox中工作,很可能是GET,您需要调用GetAsync而不是PostAsync。还有一件事,当发送这些参数时,它们是作为URL的一部分发送的,我猜您误解了HTTPGET和HTTPPOST。您可能需要尝试GETAsync,或者为postSwap序列化对象,为PostAsync序列化GETAsync,并发送一个长字符串,而不是内容也不起作用。仍然得到空值。参数打印正确,responseString为空字符串。为空或为空站点是否检查任何浏览器cookie?我还建议对参数使用字典,因为这样会为您设置格式:Cookie不会被我的主机上的服务器检查。用于pastebin的thnx。但这也不起作用。我从那开始,但没有工作。