ASI簡單實現網路程式設計

2021-07-03 04:15:09 字數 2286 閱讀 9421

使用ios sdk中的http網路請求api,相當的複雜,呼叫比較麻煩,asihttprequest 對cfnetwork api進行了封裝,並且使用起來非常簡單的一套api,在很多比較老舊的專案依然存在,因此大家仍然需要熟悉asi的使用。下面我們一起學習研究一下asi的簡單使用。

一、環境搭建

,並且引入下面檔案: 

2、增加框架

二、使用方法

1、傳送同步get請求,直接呼叫startsynchronous方法即可,下面的服務位址自己可以自己搭建,傳送請求後呼叫請求的responsedata屬性便獲取到返回的資料:

- (void)syncelse 

}

2、傳送非同步get請求,直接呼叫startasynchronous方法即可,非同步和同步稍有不同,使用**接受資料

- (void)async

//開始傳送請求

//失敗的時候呼叫

//接收資料呼叫,如果檔案過大分多次呼叫,此處需要拼接返回的data

//請求結束後解析資料

3、使用塊來實現非同步get請求,因為當面對多個請求的時候採用**的方式稍微顯得有點麻煩,比如在拼接資料的時候需要判斷當前是哪個請求,然後根據請求物件位址來確定採取哪種拼接,所以,在處理多個請求的時候用塊比較有優勢

- (void) asyncformblock];

//開始接收的時候呼叫

[request setdatareceivedblock:^(nsdata *data) ];

//失敗的時候呼叫

[request setfailedblock:^];

}

4、同步post請求的實現,post請求和get不同,這裡需要拼接條件,而且這次用到的類也稍微不同asiformdatarequest,除此之外基本類似。**如下:

asiformdatarequest * request=[asiformdatarequest requestwithurl:url];

//設定請求引數

[request setpostvalue:@"jereh" forkey:@"username"];

[request setpostvalue:@"123" forkey:@"pwd"];

request.timeoutseconds=3;

[request startsynchronous];

5、非同步的post請求我就不用說了吧?相信大家能寫出來

1 直接設定檔案,其他預設

[request setfile:path forkey:@"file"];

2 設定檔案,同時設定目的檔名稱和型別

[request setfile:path withfilename:@"asiimg1.png" andcontenttype:@"image/png" forkey:@"file"];

3 設定二進位制檔案,同時設定目的檔名稱和型別

[request setdata:data withfilename:@"t.png" andcontenttype:@"image/png" forkey:@"file"];

,親自執行測試。

疑問諮詢或技術交流,**入官方qq群:

傑瑞教育

出處:

本文版權歸煙台傑瑞教育科技****

Java 網路程式設計簡單實現

在獲取終端資訊時,需要使用inetaddress類的相應方法進行獲取 1.1 獲取本機的網路相關資訊 獲取本機的網路相關資訊時需要使用命令inetaddress.getlocalhost 獲得inetaddress型別的例項物件引用。然後,可以使用以下方法獲取需要的資料 gethostname 獲取...

利用WinSock實現簡單網路程式設計

利用winsock可以實現tcp udp協議通訊。我們知道,網路通訊要找三個位址即網路位址 主機位址 服務位址 埠號 通過機器的ip位址和子網掩碼計算可以得到網路和主機位址。而每個機器的服務位址 埠號 有65536個。下面就談一下怎樣利用winsock實現網路通訊。伺服器端程式編寫 建立乙個窗體,新...

網路程式設計 Linux多播簡單實現

在測試多時先確定測試的介面 網絡卡 是否已經開啟多播功能,如下 圖.1其中running multicast表示開啟了多播功能,可用ifconfig命令開啟 多播資料傳送端 include include include include include include include include...