1

我正在尝试使用 C# HttpClient 类发送带有 cookie 的 Http Get 消息。 HttpClient.GetAsync只接受 URL。所以,我不能使用那种方法。我发现该HttpClient.SendAsync方法让我可以通过以下方式发送 cookie。

HttpRequestMessage GETRequest = new HttpRequestMessage(HttpMethod.Get, completeUrl);
GETRequest.Content = new FormUrlEncodedContent(formVals);
HttpResponseMessage GETResponse = client.SendAsync(GETRequest).Result;

但是在执行时,它会说 -

“无法发送具有此动词类型的内容主体”

我知道 Get 消息是获取数据而不是发布数据的理想选择。但在我的情况下,cookie 存储在客户端以保存客户端首选项,我必须通过 Http Get 消息(通过 HttpClient 类)将它们发送给客户端。

我不想重新初始化 HttpClient 对象;这将改变它的 SessionID。我不想将内容添加到获取消息。我只是问是否有任何其他方法可以使用附加值更新获取消息 cookie。

请告诉我如何处理这个问题。提前感谢您的帮助。

4

1 回答 1

3

您应该使用 CookieContainer 类,如本答案所示。这将在 HTTP 标头中设置 cookie(它们应该放置的位置)。

于 2013-01-28T15:50:51.003 回答