.Net HttpClient无法与Cookie一起工作

.Net HttpClient无法与Cookie一起工作,.net,vb.net,cookies,.net,Vb.net,Cookies,我正在尝试登录该网站并获取html正文。这是我的代码: Dim cookies = New Net.CookieContainer Dim handler = New Net.Http.HttpClientHandler handler.UseCookies = True handler.CookieContainer = cookies Dim client = New Net.Http.HttpClient(handler) Dim pairs = New List(Of KeyValueP

我正在尝试登录该网站并获取html正文。这是我的代码:

Dim cookies = New Net.CookieContainer
Dim handler = New Net.Http.HttpClientHandler
handler.UseCookies = True
handler.CookieContainer = cookies
Dim client = New Net.Http.HttpClient(handler)
Dim pairs = New List(Of KeyValuePair(Of String, String))
pairs.Add(New KeyValuePair(Of String, String)("doLogin", "1"))
pairs.Add(New KeyValuePair(Of String, String)("login", "admin"))
pairs.Add(New KeyValuePair(Of String, String)("password", "qwerty"))
Dim content = New Net.Http.FormUrlEncodedContent(pairs)
Dim request = New Net.Http.HttpRequestMessage
request.Method = Net.Http.HttpMethod.Post
request.RequestUri = New Uri("http://example.com")
request.Content = content
Dim response = client.SendAsync(request).Result
My.Computer.FileSystem.WriteAllText("C:/test.html", response.Content.ReadAsStringAsync.Result, False)
但html页面表示未启用Cookie:

未找到Cookie,请启用Cookie


我能做什么?

这表明web服务器希望从客户端接收cookie(可能是会话cookie),而您没有发送任何cookie。您可能需要先执行Get-first以请求将填充cookie容器的页面,然后才能发回该页面。