ASIHTTPRequest请求responseHeaders objectForKey:@“Set-Cookie”

时间:2012-05-24 19:06:08

标签: iphone asihttprequest

我的代码

[[request responseHeaders] objectForKey:@“Set-Cookie”]

和这些结果

cookiename1 = 1234;路径= /; httponly,cookiename2 = 1234;路径= /;仅Http

如何只获取cookiename1的值?

提前致谢。

1 个答案:

答案 0 :(得分:0)

ASIHTTPRequest我认为是一个死的项目,也许考虑使用另一个?我非常喜欢使用AFNetworking

虽然你需要什么特定的cookie。我相信库中会自动为您设置Set-Cookie下的cookie。

如果你真的需要实际查看结果,它只是一个字符串,所以你必须做一些字符串解析。正则表达式可能是最好的。我相信这个例子可能有用,但我不确定。我现在无法测试,实际上我目前还没有Xcode可用。所以很可能会出现一些语法错误:

NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"cookiename1=*;" options:0 error:&error];
NSTextCheckingResult *result = [regex firstMatchInString:cookies options:0 range:NSRangeFromString(cookies)];
NSString *stringResult = [cookies substringWithRange:[result range]];

然后从那里你有来自cookiename1 = ...的cookie;你可以提取它。删除尾随分号,最后拆分为“=”,您可以获取cookie的值。