zoukankan      html  css  js  c++  java
  • IOS 网络请求中设置cookie

     

    目录(?)[+]

     

    1. ASIHTTPRequest

    ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。

    cookie的支持

        如果 Cookie 存在的话,会把这些信息放在 NSHTTPCookieStorage 容器中共享,并供下次使用。你可以用 [ ASIHTTPRequest setSessionCookies:nil ] ; 清空所有 Cookies。当然,你也可以取消默认的Cookie策略,而使自定义的Cookie:

    [plain] view plain copy
    1. -(NSMutableArray*)retrunCookies{  
    2.     NSDictionary *properties = [[[NSMutableDictionary alloc] init] autorelease];  
    3.     [properties setValue:[LoginViewController getLanguageType:loginInfo.lang] forKey:NSHTTPCookieValue];  
    4.     [properties setValue:@"BENGGURU.GAIA.CULTURE_CODE" forKey:NSHTTPCookieName];  
    5.     [properties setValue:@"" forKey:NSHTTPCookieDomain];  
    6.     [properties setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCookieExpires];  
    7.     [properties setValue:@"" forKey:NSHTTPCookiePath];  
    8.     NSHTTPCookie *cookie = [[[NSHTTPCookie alloc] initWithProperties:properties] autorelease];  
    9.     return [NSMutableArray arrayWithObject:cookie];  
    [plain] view plain copy
    1. }  
    [plain] view plain copy
    1. [request setRequestCookies:[self retrunCookies]];                  //发送cookies,根据用户的选择,返回相应语言。  



    2.  NSMutableURLRequest(可以用于webview)

    [plain] view plain copy
    1. NSDictionary *properties = [[[NSMutableDictionary alloc] init] autorelease];  
    2.             [properties setValue:userId forKey:NSHTTPCookieValue];  
    3.             [properties setValue:@"BENQGURU.GAIA.USERID" forKey:NSHTTPCookieName];  
    4.             [properties setValue:@"" forKey:NSHTTPCookieDomain];  
    5.             [properties setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCookieExpires];  
    6.             [properties setValue:@"/" forKey:NSHTTPCookiePath];  
    7.             NSHTTPCookie *cookie = [[[NSHTTPCookie alloc] initWithProperties:properties] autorelease];  
    8.             NSDictionary *properties1 = [[[NSMutableDictionary alloc] init] autorelease];  
    9.             [properties1 setValue:[LoginViewController getLanguageType:loginInfo.lang] forKey:NSHTTPCookieValue];  
    10.             [properties1 setValue:@"BENGGURU.GAIA.CULTURE_CODE" forKey:NSHTTPCookieName];  
    11.             [properties1 setValue:@"" forKey:NSHTTPCookieDomain];  
    12.             [properties1 setValue:[NSDate dateWithTimeIntervalSinceNow:60*60] forKey:NSHTTPCookieExpires];  
    13.             [properties1 setValue:@"/" forKey:NSHTTPCookiePath];  
    14.             NSHTTPCookie *cookie1 = [[[NSHTTPCookie alloc] initWithProperties:properties1] autorelease];  
    15.             NSArray *cookies=[NSArray arrayWithObjects:cookie,cookie1,nil];  
    16.            NSDictionary *headers=[NSHTTPCookie requestHeaderFieldsWithCookies:cookies];  
    17.             NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:[object valueForKey:@"url"]]];  
    18.             [request setValue:[headers objectForKey:@"Cookie"] forHTTPHeaderField:@"Cookie"];  
    19.            [webView loadRequest:request];  
  • 相关阅读:
    React元素渲染
    初识JSX
    微信小程序复制文本到剪切板
    微信小程序报错request:fail url not in domain list
    小程序,通过自定义编译条件,模拟推荐人功能
    积分抵扣逻辑
    微信小程序 switch 样式
    tomcat 配置开启 APR 模式
    tomcat8 传输json 报错 Invalid character found in the request target. The valid characters are defined in RFC 3986
    c++数组初始化误区
  • 原文地址:https://www.cnblogs.com/tangyuanby2/p/5408681.html
Copyright © 2011-2022 走看看