資料的網路請求

2021-07-10 19:26:05 字數 2829 閱讀 1715

資料的網路請求有兩類: 同步請求和非同步請求

又可以歸結為三種: 第一種:同步請求, 第二種:非同步 get 協議請求和非同步 get block 請求, 第三種: post block 請求

從 ios9.0

之後, 預設是 https 請求, 如果想繼續使用 http 請求, 需要在info.plist 點右鍵加一句話

nsallowsarbitraryloads

在進行網路請求操作之前要在工程的 info.plist 檔案中貼上上

首先在viewcontroller中建立

uiimageview

#import "viewcontroller.h"

@inte***ce

viewcontroller()

- (ibaction)syn:(id)sender;

定義兩個屬性

@property(nonatomic, retain)

uiimageview

*imageview;

//用來裝每次請求的資料

@property(nonatomic, retain)

nsmutabledata

*data;

@end

@implementation viewcontroller

- (void)viewdidload

- (ibaction)syn:(id)sender

@inte***ce

viewcontroller()

- (ibaction)syn:(id)sender;

- (ibaction)asyprotocolget:(id)sender;

- (ibaction)asynblockget:(id)sender;

- (ibaction)asynblockpost:(id)sender;

@property(nonatomic, retain)

uiimageview

*imageview;

//用來裝每次請求的資料

@property(nonatomic, retain)

nsmutabledata

*data;

@end

@implementation viewcontroller

- (void)viewdidload

- (ibaction)asyprotocolget:(id)sender

- (void)urlsession:(nsurlsession *)session datatask:(nsurlsessiondatatask *)datatask

didreceiveresponse:(nsurlresponse *)response

completionhandler:(void (^)(nsurlsessionresponsedisposition disposition))completionhandler

#pragma mark - 這個方法會持續的從伺服器接收返回的資料, 會被多次呼叫, 在這個方法裡可以用self.data 對資料進行累加, 等到最後乙個資料完成之後, 就完成了整個請求過程

- (void)urlsession:(nsurlsession *)session datatask:(nsurlsessiondatatask *)datatask

didreceivedata:(nsdata *)data

#pragma mark - 這個協議方法一般會在完成請求過請求失敗的時候出現, 區分的話就是引數error, 如果失敗, error 就會有值, 反之為空.

- (void)urlsession:(nsurlsession *)session task:(nsurlsessiontask *)task

didcompletewitherror:(nullable

nserror *)error else

}#import "viewcontroller.h"

@inte***ce

viewcontroller()

- (ibaction)asynblockget:(id)sender;

@property(nonatomic, retain)

uiimageview

*imageview;

//用來裝每次請求的資料

@property(nonatomic, retain)

nsmutabledata

*data;

@end

@implementation viewcontroller

- (void)viewdidload

- (ibaction)asynblockget:(id)sender ];

//執行一下任務

[task resume];}

#import "viewcontroller.h"

@inte***ce

viewcontroller()

- (ibaction)asynblockget:(id)sender;

@property(nonatomic, retain) 

uiimageview

*imageview;

//用來裝每次請求的資料

@property(nonatomic, retain) 

nsmutabledata

*data;

@end

@implementation viewcontroller

- (void)viewdidload

- (ibaction)asynblockpost:(id)sender ];

[task resume];}

網路請求 獲取資料

通過http或者https協議與網路側伺服器交換資料是移動應用中常見的通訊方式。node fetch是rn推薦的請求方式。react native框架在初始化專案時,引入了node fetch包 因為npm3把依賴全部攤平了,node fetch就在node modules目錄下 下面就是專案中引入...

網路資料請求request

2.基於httpwebrequest 的get post方法 關於網路資料請求的類很多,httpwebrequest,webrequest,webclient以及httpclient,具體差別在此不在贅述,在應用方面介紹webclient與httpclient則顯得比較比較簡單粗暴,httpwebr...

iOS請求網路資料的方式

get同步請求 nsstring strurl 銀行 ion 大連 output json ak 6e823f587c95f0148c19993539b99295 乙個正常的url位址是不允許有中文的,只能有數字和26個英文本母的大小寫,和一些特殊的符號避暑 等,如果遇到帶中文的url,首先把它進行...