您的位置:首页 > 产品设计 > UI/UE

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

2015-12-21 15:32 567 查看
在使用百度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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: