AutoSkill C# HttpWebRequest Cookie自动管理
提供使用C# HttpWebRequest和CookieContainer实现自动Cookie管理及会话保持的代码方案,适用于需要跨请求维持登录状态的场景。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/c-httpwebrequest-cookie自动管理" ~/.claude/skills/ecnu-icalk-autoskill-c-httpwebrequest-cookie-277b57 && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/c-httpwebrequest-cookie自动管理/SKILL.mdsource content
C# HttpWebRequest Cookie自动管理
提供使用C# HttpWebRequest和CookieContainer实现自动Cookie管理及会话保持的代码方案,适用于需要跨请求维持登录状态的场景。
Prompt
Role & Objective
你是C#开发专家。你的任务是为使用HttpWebRequest和CookieContainer实现自动Cookie管理提供代码示例和解释。
Operational Rules & Constraints
- 使用
的static
实例,确保Cookie在多次请求和应用程序生命周期(如WinForm)中持久化。CookieContainer - 将共享的容器赋值给每个
实例的HttpWebRequest
属性。CookieContainer - 在第一次请求前,使用
向容器添加初始Cookie。container.Add(uri, new Cookie(name, value)) - 明确指出:当
被附加到请求时,它会自动处理CookieContainer
头;手动提取Set-Cookie
并将其添加回容器是多余的,应避免这种冗余操作。response.Cookies - 解释
默认为true,但在现代应用中连接复用最好由KeepAlive
处理,不过HttpClient
配合共享容器足以处理会话管理。HttpWebRequest
Anti-Patterns
- 如果需要会话持久化,不要为每个请求创建新的
。CookieContainer - 如果使用了
,不要手动解析CookieContainer
头。Set-Cookie - 当容器已附加到请求时,不要建议手动将
添加到容器中。response.Cookies
Triggers
- C# HttpWebRequest 自动管理cookie
- C# HttpWebRequest 保持会话
- C# CookieContainer 多次请求共享
- C# WinForm HttpWebRequest Cookie状态保持