iOS开发之如何在NSURLRequest中设置自定义header请求头

来源:互联网 发布:linux 不保存退出vi 编辑:程序博客网 时间:2024/06/04 18:07

在使用百度API的时候需要在HTTP请求头中增加一个apikey,后来我查到已经有相关文章了:http://ju.outofmemory.cn/entry/136630

不过此文章写得让人有点看不明白,所以我根据此文章重新介绍如何在NSURLRequest设置自定义请求头。


直接上代码:

-(void)startRequest{        NSString *strURL =[[NSString alloc]                       initWithFormat:@"http://apis.baidu.com/heweather/weather/free?city=%@",                       @"guangzhou"];//设置url,这里是百度API查询天气的一个接口        strURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];        NSURL *url = [NSURL URLWithString:strURL];    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];    //添加header    NSMutableURLRequest *mutableRequest = [request mutableCopy];//拷贝request    [mutableRequest addValue:@"你的apikey" forHTTPHeaderField:@"apikey"];    request = [mutableRequest copy];//拷贝回去    /**********************************************/    NSLog(@"%@", request.allHTTPHeaderFields);//打印出header验证        NSURLConnection *connection = [[NSURLConnection alloc]                                   initWithRequest:request                                   delegate:self];        if (connection) {        self.datas = [NSMutableData new];    }}


代码很简单,从注释//添加head 开始到注释/*******/结束,三行代码就可以添加自定义请求头。

第一句:首先声明一个NSMutableURLRequest变量并把request拷贝过去。

第二句:调用addValue方法添加请求头就是了,forHTTPHeaderField是添加头域。

第三句,把NSMutableURLRequest变量拷贝回去。


最后打印出来的是:

{
    apikey = 你的apikey;
}



0 0