ios網路資料處理

2021-06-21 07:17:22 字數 3475 閱讀 3614

ios之同步請求、非同步請求、get請求、post請求

1、同步請求可以從網際網路請求資料,一旦傳送同步請求,程式將停止使用者互動,直至伺服器返回資料完成,才可以進行下一步操作,

2、非同步請求不會阻塞主線程,而會建立乙個新的執行緒來操作,使用者發出非同步請求後,依然可以對ui進行操作,程式可以繼續執行

3、get請求,將引數直接寫在訪問路徑上。操作簡單,不過容易被外界看到,安全性不高,位址最多255位元組;

4、post請求,將引數放到body裡面。post請求操作相對複雜,需要將引數和位址分開,不過安全性高,引數放在body裡面,不易**獲。

1、     同步get請求

//第一步,建立url

nsurl *url = [nsurl urlwithstring:@""];

//第二步,通過url建立網路請求

nsurlrequest *request = [[nsurlrequest alloc]initwithurl:url cachepolicy:nsurlrequestuseprotocolcachepolicy timeoutinterval:10];

//nsurlrequest初始化方法第乙個引數:請求訪問路徑,第二個引數:快取協議,第三個引數:網路請求超時時間(秒)

其中快取協議是個列舉型別包含:

nsurlrequestuseprotocolcachepolicy(基礎策略)

nsurlrequestreloadignoringlocalcachedata(忽略本地快取)

//第三步,連線伺服器

nsdata *received = [nsurlconnection sendsynchronousrequest:request returningresponse:nil error:nil];

nsstring *str = [[nsstring alloc]initwithdata:received encoding:nsutf8stringencoding];

nslog(@"%@",str);

2、同步post請求

//第一步,建立url

nsurl *url = [nsurl urlwithstring:@""];

//第二步,建立請求

nsmutableurlrequest *request = [[nsmutableurlrequest alloc]initwithurl:url cachepolicy:nsurlrequestuseprotocolcachepolicy timeoutinterval:10];

[request sethttpmethod:@"post"];//設定請求方式為post,預設為get

nsstring *str = @"type=focus-c";//設定引數

//第三步,連線伺服器

nsdata *received = [nsurlconnection sendsynchronousrequest:request returningresponse:nil error:nil];

nsstring *str1 = [[nsstring alloc]initwithdata:received encoding:nsutf8stringencoding];

nslog(@"%@",str1);

3、非同步get請求

//第一步,建立url

nsurl *url = [nsurl urlwithstring:@""];

//第二步,建立請求

nsurlrequest *request = [[nsurlrequest alloc]initwithurl:url cachepolicy:nsurlrequestuseprotocolcachepolicy timeoutinterval:10];

//第三步,連線伺服器

nsurlconnection *connection = [[nsurlconnection alloc]initwithrequest:request delegate:self];

4、非同步post請求

//第一步,建立url

nsurl *url = [nsurl urlwithstring:@""];

//第二步,建立請求

//第三步,連線伺服器

nsurlconnection *connection = [[nsurlconnection alloc]initwithrequest:request delegate:self];

5、非同步請求的**方法

//接收到伺服器回應的時候呼叫此方法

//接收到伺服器傳輸資料的時候呼叫,此方法根據資料大小執行若干次

-(void)connection:(nsurlconnection *)connection didreceivedata:(nsdata *)data

//資料傳完之後呼叫此方法

-(void)connectiondidfinishloading:(nsurlconnection *)connection

nsstring *receivestr = [[nsstring alloc]initwithdata:self.receivedata encoding:nsutf8stringencoding];

nslog(@"%@",receivestr);

//網路請求過程中,出現任何錯誤(斷網,連線超時等)會進入此方法

-(void)connection:(nsurlconnection *)connection

didfailwitherror:(nserror *)error

nslog(@"%@",[error localizeddescription]);

資料處理 流資料處理利器

流處理 stream processing 是一種計算機程式設計正規化,其允許給定乙個資料序列 流處理資料來源 一系列資料操作 函式 被應用到流中的每個元素。同時流處理工具可以顯著提高程式設計師的開發效率,允許他們編寫有效 乾淨和簡潔的 流資料處理在我們的日常工作中非常常見,舉個例子,我們在業務開發...

爬蟲 資料處理 pandas資料處理

使用duplicated 函式檢測重複的行,返回元素為布林型別的series物件,每個元素對應一行,如果該行不是第一次出現,則元素為true keep引數 指定保留哪一重複的行資料 dataframe替換操作 使用df.std 函式可以求得dataframe物件每一列的標準差 資料清洗清洗重複值 清...

資料處理 pandas資料處理優化方法小結

資料處理時使用最多的就是pandas庫,pandas在資料處理方面很強大,整合了資料處理和資料視覺化。pandas的視覺化使用的是matplotlib。回到主題 計算資料的某個欄位的所有值,對其欄位所有值進行運算 處理的字段資料為時間戳,需要計算該時間戳距離現在的時間,單位為天。一般方法 使用現在的...