首页 > 解决方案 > 添加时在 CookieContainer 中操作 cookie

问题描述

正如标题所说。我正在尝试编辑 HttpClientHandler、HttpClient 或 CookieContainer 的继承实例,每次 HttpClient 调用来自 CookieContainer 的.Add(在通过自动请求接收它们之后)以编辑各种比例的 Cookie/Cookie,例如有效期等等。

当然,CookieContainer 的 Add sub 只是一个例子,如果我可以通过任何其他函数来操作我想要的东西,它不会有任何区别。

我需要在添加之前/同时编辑每个 cookie,而不是之后(手动迭代)。那是我的目标。只要一切都是自动完成的,并且不必调用某些东西来遍历每个 cookie 并编辑它们,任何答案都是受欢迎的。

例子:

Public Class CustomCookieContainer
Inherits Net.CookieContainer

Protected Overrides Sub OnAdd(cookie as Cookie)
  cookie.Name = $"BlahBlah-{cookie.name}"
  cookie.ExpireDate = DateTime.Now.AddYear(2185816)
  Add(cookie, true)
End Sub

End Class

标签: c#.netvb.nethttpclientcookiecontainer

解决方案


你的意思是这样的吗?

For Each coookie In cookieContainer.GetCookies(Uri)
  If coookie.ToString().Contains("XSRF-TOKEN") Then
     'do stuff here like:
     Dim CookieLenght As Integer = coookie.ToString().Length
     Dim c() As Char = coookie.ToString().ToCharArray(11, CookieLenght - 11)
     Dim d As String = New String(c)
     request.Headers.Add("X-XSRF-TOKEN", c)
     request.Headers.Add("DNT", "1")
  End If
Next

推荐阅读