iOS POST請求 有中文的時候

2021-06-27 10:14:48 字數 4181 閱讀 5960

鑌哥,最近post請求遇到一些問題,當有中文的時候是請求不成功

下面鑌哥寫兩種案例:

1:通常post請求:(有中文不成功)

//1:設定url

nsstring

*host = 

host;

nsstring *usename = @"****";

nsstring

*querystring = [

nsstring

stringwithformat

self

checkcarrier

],phoneversion,netstr,userphonename,totaldiskspacestr, [

loginviewcontroller

devicestring

]] ;

nslog(@"querstring:%@",querystring);

//完整的設定引數

nsstring *urlstring = [nsstring

stringwithformat:@"%@%@",host,querystring];

nslog(@"

引數:%@",urlstring);

//得到完整的url

nsurl *url1 = [nsurl

urlwithstring:urlstring];

//2:request請求

//第三步,連線伺服器

nserror * error = nil;

nsdata

*reqdata  = [

nsurlconnection

sendsynchronousrequest:request returningresponse:

nilerror:&error];

//    //3:將請求轉換二進位制

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

if(reqdata == nil)

uialertview

* alert = [[

uialertview

alloc] initwithtitle:

@"提示

"message:

@"網路不穩定,請稍後嘗試!

"delegate:

nilcancelbuttontitle:

@"取消

"otherbuttontitles:

@"ok"

, nil];

[alert show];

return;

}else

nsdictionary

*reqdic=[

nsjsonserialization

jsonobjectwithdata:reqdata options:nsjsonreadingallowfragmentserror:

nil];

nsstring *info = [nsstring

stringwithformat:@"%@",[reqdic objectforkey:@"info"]];

nslog(@"

引數字典:

%@",reqdic);

//4:列印資料

nsstring *errcode = [nsstring

stringwithformat:@"%@", [reqdic objectforkey:@"errcode"]];

if ([errcode isequaltostring:@"0"]) else

}2:第二種寫法對比(其實就是加了一句話)

/1:設定url

nsstring *host = host;

nsstring *usename = @"****";

nsstring

*querystring = [

nsstring

stringwithformat

self

checkcarrier

],phoneversion,netstr,userphonename,totaldiskspacestr, [

loginviewcontroller

devicestring

]] ;

nslog(@"querstring:%@",querystring);

//完整的設定引數

nsstring *urlstring = [nsstring

stringwithformat:@"%@%@",host,querystring];

nslog(@"

引數:%@",urlstring);

//得到完整的url

//有中文的時候要轉碼

nsstring

* urlstr = [urlstring stringbyaddingpercentescapesusingencoding: nsutf8stringencoding];

nsurl * url = [nsurl

urlwithstring:urlstr];

//2:request請求

//第三步,連線伺服器

nserror * error = nil;

nsdata

*reqdata  = [

nsurlconnection

sendsynchronousrequest:request returningresponse:

nilerror:&error];

//    //3:將請求轉換二進位制

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

if(reqdata == nil)

uialertview

* alert = [[

uialertview

alloc] initwithtitle:

@"提示

"message:

@"網路不穩定,請稍後嘗試!

"delegate:

nilcancelbuttontitle:

@"取消

"otherbuttontitles:

@"ok"

, nil];

[alert show];

return;

}else

nsdictionary

*reqdic=[

nsjsonserialization

jsonobjectwithdata:reqdata options:nsjsonreadingallowfragmentserror:

nil];

nsstring *info = [nsstring

stringwithformat:@"%@",[reqdic objectforkey:@"info"]];

nslog(@"

引數字典:

%@",reqdic);

//4:列印資料

nsstring *errcode = [nsstring

stringwithformat:@"%@", [reqdic objectforkey:@"errcode"]];

if ([errcode isequaltostring:@"0"]) else

}

http的請求有哪些?

http的請求有哪些 get,post head options,put,delete,trace 和 connect 1 get 請求指定的頁面資訊,並返回實體主體。2 head 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭資料被包含在請求體中。3 post請求可能會導致新的資...

Get請求和POST請求中文亂碼的問題

get請求和post請求中文亂碼的問題 tomcat8.0以上版本 1.get請求不會有中文亂碼問題 2.post請求會有中文亂碼問題 解決方案 設定request.setcharacterencoding utf 8 tomcat7版本以下,包括7 1.get請求會有中文亂碼 tomcat7.0預...

請求引數的中文亂碼問題

1 出現 404錯誤 說明找不到資源,看看對映是否正確。出現異常 說明servlet 有問題。2 響應訊息 中文正確的顯示 響應訊息傳送回客戶端,響應頭欄位 用response.addheader 設定響應訊息的頭字段 html文件設定響應訊息頭欄位,用 meta 標籤,它有乙個屬性是 設定頭欄位。...