【发布时间】:2009-05-07 00:07:29
【问题描述】:
我在向 NSMutableURlRequest 添加标头时遇到问题,问题是当我在“授权”下方添加标头时,它没有显示出来。但是,如果我用静态字符串 exp (@"asdadsadsadga") 替换下面的实例变量“auth”,则会显示“Authorization”标题。在这一点上我很迷茫。
NSURL *url = [NSURL URLWithString:@"https://www.google.com/analytics/feeds/accounts/default"];
NSMutableURLRequest *profileRequest = [NSMutableURLRequest requestWithURL:url];
NSLog(auth); //prints correctly
NSString *authString = [NSString stringWithFormat:@"GoogleLogin Auth=%@", auth];
[profileRequest addValue:authString forHTTPHeaderField:@"Authorization"];
NSDictionary *allheaders = [profileRequest allHTTPHeaderFields];
for (id key in allheaders)
{
//Nothing prints
NSLog(@"key: %@, value: %@", key, [allheaders objectForKey:key]);
}
NSLog(auth); //Prints correctly
【问题讨论】:
-
这听起来与stackoverflow.com/questions/791760 相同的问题,这也是一个身份验证令牌(但不幸的是,那里没有对该问题的后续处理)。也许是一个特定的角色导致它失败;当您尝试使用字符串文字时,它与您的 auth 变量的内容是否相同?如果没有,我会尝试,如果失败,则开始删除字符,直到它起作用。
-
是的,我已经尝试过与文字相同的确切标记。此外,authString 已正确创建,我可以运行 NSLog(@"%@", authString) 并获得正确的输出。这真的让我很难过。
-
能否请您发布运行此代码的确切输出。
标签: iphone objective-c nsstring