• 自定义请求头信息及cookie信息


    请求网页的时候有时候我们需要传递一些参数信息,这个时候我们可以将参数放到请求头中,具体使用如下:

    这里有小问题就是请求参数的属性名好像不支持下划线,即 HTTP_UID不可用,但是HTTP-UID就可以,使用下划线的后果就是后台服务器不会接受到这个请求参数,至少在我的项目中出现了这个问题

    //WAP页面
            UIViewController *web = [[UIViewController alloc]init];
            UIWebView *webView = [[UIWebView alloc]initWithFrame:web.view.bounds];
            [web.view addSubview:webView];
            //设置请求路径
            NSURL *url = [NSURL URLWithString:@"http://www.sdadksaddaskddas"];
            NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
            
            //添加请求头信息  这个请求头名称需要和后台统一
            NSMutableURLRequest *mutableRequest = [request mutableCopy];    //拷贝request
           //这里我添加了HTTP_UID和HTTP_TOKEN两个请求头属性
            [mutableRequest addValue:[CDUser currentUser].userId forHTTPHeaderField:@"HTTP-UID"];
            [mutableRequest addValue:[CDUser currentUser].token forHTTPHeaderField:@"HTTP-TOKEN"];
            request = [mutableRequest copy];        //拷贝回去
         //加载url
            [webView loadRequest:request];
            web.hidesBottomBarWhenPushed = YES;
            [self.navigationController pushViewController:web animated:YES];    

    自定义cookie

       // 自定义ccokie 传值
      // 定义 cookie 要设定的 host
        NSURL *cookieHost = [NSURL URLWithString:@"http://www.dasdadadasd"];
        NSDictionary *dic = @{@"key1":value1,@"key2":value2};
        [dic enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
         // 设定 cookie
        NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:
                                    [NSDictionary dictionaryWithObjectsAndKeys:
                                     [cookieHost host], NSHTTPCookieDomain,
                                     [cookieHost path], NSHTTPCookiePath,
                                     key,NSHTTPCookieName,
                                     obj,NSHTTPCookieValue,
                                     nil]];
        [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];
            
        }];
    
        [self.webView loadRequest:request];//加载
    enumerateKeysAndObjectsUsingBlock是NSDictionary中的一个方法,它有一个参数就是block,这个block携带了三个参数,这将要把dictionary里面的key和value每次一组传递到block.  
    enumerateKeysAndObjectsUsingBlock会遍历dictionary并把里面所有的key和value一组一组的展示给你,每组都会执行这个block。
    这其实就是传递一个block到另一个方法,在这个例子里它会带着特定参数被反复调用,直到找到一个ENOUGH的key,然后就会通过重新赋值那个BOOL *stop来停止运行,停止遍历同时停止调用block。
  • 相关阅读:
    深入protoBuf
    Golang数据库操纵对IN语句的支持
    golang几种常用配置文件使用方法总结(yaml、toml、json、xml、ini)
    golang实现rabbitmq消息队列失败尝试
    Trie性能分析之敏感词过滤golang
    Go语言cookie的基本操作
    微信二维码添加logo
    gin框架中间件
    gin入门-1
    2017-06-28(passwd 主要组与附属组 gpasswd newgrp groups)
  • 原文地址:https://www.cnblogs.com/gaoxiaoniu/p/5864544.html
Copyright © 2020-2023  润新知