鑌哥,最近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 標籤,它有乙個屬性是 設定頭欄位。...