1. 程式人生 > >iOS開發之如何在NSURLRequest中設定自定義header請求頭

iOS開發之如何在NSURLRequest中設定自定義header請求頭

在使用百度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;
}

相關推薦

iOS開發如何在NSURLRequest設定定義header請求

在使用百度API的時候需要在HTTP請求頭中增加一個apikey,後來我查到已經有相關文章了:http://ju.outofmemory.cn/entry/136630 不過此文章寫得讓人有點看不明白,所以我根據此文章重新介紹如何在NSURLRequest設定自定義請求頭

JavaEE開發SpringMVC定義攔截器及異常處理

上篇部落格我們聊了《》,本篇部落格我們就聊一下自定義攔截器的實現、以及使用ModelAndView物件將Controller的值載入到JSTL上、最後再聊一下異常的捕獲處理。這些在日常開發中都是經常使用的東西。具體請看下方內容。 一、自定義攔截器 顧名思義,攔截器是負責攔截某些東西的工具。本部分我們建立的攔

JavaEE開發SpringMVC定義訊息轉換器與檔案上傳

上篇部落格我們詳細的聊了《》,本篇部落格依然是JavaEE開發中的內容,我們就來聊一下SpringMVC中的自定義訊息轉發器(HttpMessageConverter)和SpringMVC中的檔案上傳。訊息轉發器在日常開發中是比較常用的,其可以靈活的將使用者發過來的訊息按照自定義的格式進行解析,然後將解析的資

在curl設定定義的HTTP

問題:我正嘗試使用curl命令獲取一個URL,但除此之外我還想在傳出的HTTP請求中設定一些自定義的頭部欄位。我如何能夠在curl中使用自定義的HTTP頭呢? curl是一個強大的命令列工具,它可以通過網路將資訊傳遞給伺服器或者從伺服器獲取資料。他支援很多的傳輸協議,尤

Android開發在xml設定定義屬性

xml中設定自定義屬性 分三步: 1. 在專案中的values檔案中建立attrs檔案 <?xml version="1.0" encoding="utf-8"?> <resourc

ios開發--UITableView的visibleCells的用法

.com format transform ati tableview bool deque property ons 先上圖: 具體代碼如下: #import "ViewController.h" @interface ViewController ()<

ios開發--NSStringsubstringFromIndex,substringWithRange,substringToIndex方法的使用

字符 nsrange min nbsp 範圍 clas ring div make 1,substringFromIndex 從索引0開發到到index的後面的字符 2,substringWithRange 取指定range裏面的字符,左邊為索引index,右邊為截取的範圍

iOS開發UI篇—CAlayer(定義layer)

1 #import "YYVIEW.h" 2 3 @implementation YYVIEW 4 5 6 - (void)drawRect:(CGRect)rect 7 { 8 //1.獲取上下文 9 CGContextRef ctx=UIGraphic

iOS開發AutoLayout的Content Hugging Priority和 Content Compression Resistance Priority解析

本篇部落格的內容也不算太複雜,算是AutoLayout的一些高階的用法。本篇部落格我們主要通過一些示例來看一下AutoLayout中的Content Hugging Priority以及Content Compression Resistance Priority這兩個優先順序。下方我們先來簡單的看一下這兩個

iOS開發多種Cell高度適應實現方案的UI流暢度分析

本篇部落格的主題是關於UI操作流暢度優化的一篇部落格,我們以TableView中填充多個根據內容自適應高度的Cell來作為本篇部落格的使用場景。當然Cell高度的自適應網上的解決方案是鋪天蓋地呢,今天我們的重點不是如何討論Cell高度的自適應,而是給出幾種Cell高度自適應的解決方案,然後對比起UI流暢度,從

iOS開發UITableView計時器的幾種實現方式(NSTimer、DispatchSource、CADisplayLink)

最近工作比較忙,但是還是出來更新部落格了。今天部落格中所涉及的內容並不複雜,都是一些平時常見的一些問題,通過這篇部落格算是對UITableView中使用定時器的幾種方式進行總結。本篇部落格會給出在TableView中使用NSTimer或者DispatchSourcer中常見的五種方式。當然下方第一種方式是常規

iOS開發UIScrollViewframe、contentSize、contentOffset、contentInset

UIScrollView有三個屬性,分別為contentSize、contentOffset、contentInset,再加上UI View的屬性frame,共四個屬性,由於這四個屬性存在一定的關聯,不仔細很容易弄混,所以抽時間好好了解了一下。 UIScr

curl模擬資料請求,在header設定定義的引數

我們定義了三個引數,token、language、region,放入header傳送過去 <?php $url = 'http://www.example.com'; $header = ar

Swift設定定義tabBar按鈕的動畫效果

將此段程式碼放到自定義的UITabBarController指令碼中即可 //---------------------------------------------------- //

如何在webview設定定義字型

In your assets/fonts folder, place the desired OTF or TTF font (here MyFont.otf) Create a HTML file that you'll use for the WebView's c

iOS開發多線程篇—定義NSOperation

一個 gate operation cti reserve RKE 新建 工廠 oar 一、實現一個簡單的tableView顯示效果 實現效果展示: 代碼示例(使用以前在主控制器中進行業務處理的方式) 1.新建一個項目,讓控制器繼承自UITableViewContro

[iOS]定義http 請求

第一句:首先宣告一個NSMutableURLRequest變數並把request拷貝過去。 第二句:呼叫addValue方法新增請求頭就是了,forHTTPHeaderField是新增頭域。 第三句,把NSMutableURLRequest變數拷貝回去。

curl命令設定定義的HTTP

問題:我正嘗試使用curl命令獲取一個URL,但除此之外我還想在傳出的HTTP請求中設定一些自定義的頭部欄位。我如何能夠在curl中使用自定義的HTTP頭呢? curl是一個強大的命令列工具,它可以通過網路將資訊傳遞給伺服器或者從伺服器獲取資料。他支援很多的傳輸

Ubuntu伺服器配置nginx定義http請求變數引數

1、首先進入你自己的nginx配置檔案中,找到你的配置,更改host型別     預設是$host  更改為$http_host,因為如果是$host或者$proxy_host,那麼預設會重新發送請求檔案,而不會使用你的請求頭      2、重新執行你的nginx檔案,

ios開發--仿(微信)定義表情鍵盤

lai signed avi 創建 不能 url div load mps 先附上demo:https://github.com/hgl753951/CusEmoji.git 效果圖如下: 先說下具體的實現功能: 1,本地加載了一些H5的代碼,直接使用webview的lo