2013-05-10 40 views
-1

我需要为Cookie连接设置Cookie。我是Android新手。在iphone它是这样做的如下:设置用于URL连接的Cookie Android

NSURL *serverURL = [NSURL URLWithString:@"<Server URL>"]; 

NSHTTPCookie *usernamecookie = [NSHTTPCookie cookieWithProperties: 
            [NSDictionary dictionaryWithObjectsAndKeys: 
            [serverURL host], NSHTTPCookieDomain, 
            [serverURL path], NSHTTPCookiePath, 
            @"username", NSHTTPCookieName, 
            @"<username>", NSHTTPCookieValue, 
            nil]]; 

NSHTTPCookie *passwordcookie = [NSHTTPCookie cookieWithProperties: 
            [NSDictionary dictionaryWithObjectsAndKeys: 
            [serverURL host], NSHTTPCookieDomain, 
            [serverURL path], NSHTTPCookiePath, 
            @"password", NSHTTPCookieName, 
            @"<password>", NSHTTPCookieValue, 
             nil]]; 

[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:usernamecookie]; 
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:passwordcookie]; 

NSData *responseData = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:serverURL] returningResponse:nil error:nil]; 
NSString *response = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]autorelease]; 
NSLog(@"response data %@",[response description]); 

如果有人有任何想法,请帮助。

回答

3

Android有一些非常相似的东西。您创建cookie并将它们添加到cookie存储中,然后在HTTP连接中的服务器请求时可以使用它们。

要创建并添加一个cookie使用下面的代码:

CookieManager cookieManager = new CookieManager(); 
CookieHandler.setDefault(cookieManager); 
HttpCookie cookie = new HttpCookie("lang", "fr"); 
cookie.setDomain("twitter.com"); 
cookie.setPath("/"); 
cookie.setVersion(0); 
cookieManager.getCookieStore().add(new URI("http://twitter.com/"), cookie); 

欲了解更多信息,请参阅HttpUrlConnectionCookieManager

+0

谢谢。让我检查并尝试。 – 2013-05-10 11:20:23