怎样从字符串中提取cookies到cookiecollection中?

yesor 2011-10-07 07:12:17
最好用正则表达式...
比如:
str="BAIDUID=33E9592BF717019119A028A842EFE840:FG=1,Domain=.baidu.com,Path=/;BDUSS=zNmbkw1MVFCfjEzZlBVTWotZXdXOG5tUTQ1WW05TUtlbk1JaUN-bWFjSkxhclpPQVFBQUFBJCQAAAAAAAAAAApBESGsm0cbZ29kaXNnZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgCuVzAAAAAOAK5XMAAAAAcF1CAAAAAAAxMC42NS4yNEvdjk5L3Y5Oa,Domain=.baidu.com,Path=/;PTOKEN=7ccaa6100b39a8312d3b5ed9fcd7d4ab,Domain=passport.baidu.com,Path=/;STOKEN=90b0773a4d24696dc773afda743d2c03,Domain=passport.baidu.com,Path=/;USERID=210ec08e8886ea51d0b7af,Domain=.baidu.com,Path=/"


CookieCollection GetCookieFormString(string str)
{
/////////
}
...全文
204 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yesor 2011-10-09
  • 打赏
  • 举报
回复
给分了,很给力哦
uncle_bacon 2011-10-08
  • 打赏
  • 举报
回复
路过学习一下.
jshi123 2011-10-07
  • 打赏
  • 举报
回复

CookieCollection GetCookieFromString(string str)
{
string pattern = "((?<name>.+?)=(?<value>.+?)[:,])+?Domain=(?<domain>.+?),Path=(?<path>.+?);?";
var cookies = new CookieCollection();
Regex.Matches(str, pattern).Cast<Match>().SelectMany(m =>
Enumerable.Range(0, m.Groups[1].Captures.Count).Select(i =>
new Cookie(m.Groups["name"].Captures[i].Value,
m.Groups["value"].Captures[i].Value,
m.Groups["path"].Value,
m.Groups["domain"].Value)))
.ToList()
.ForEach(c => cookies.Add(c));
return cookies;
}
yesor 2011-10-07
  • 打赏
  • 举报
回复
来个人回答吧,我给分了,不要浪费分哦
yesor 2011-10-07
  • 打赏
  • 举报
回复
难道就没有人回答么?我就是主要想知道一下正则表达式的写法。。。。
yesor 2011-10-07
  • 打赏
  • 举报
回复

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧