iOS最基本的post请求和Unicode转码
2015-11-19 16:36
423 查看
今天开发遇到怪事,afn的请求总是被默认成Unicode编码,为了解决问题
直接从最基本的请求和数据类型开始。
post请求,系统自带的
method可以为nil,但是data必须是json串转化来的
- (void)sendRequestToUrl:(NSString*)urlString method:(NSString*)method
data:(NSData*)data completionHandler:(void (^)(NSData *data,NSURLResponse
*response, NSError *error))completionHandler
{
NSURLSessionConfiguration * urlSessionConfiguration = [NSURLSessionConfigurationdefaultSessionConfiguration];
NSURLSession * urlSession = [NSURLSessionsessionWithConfiguration:urlSessionConfiguration];
NSURL *url = [NSURLURLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:url];
request.HTTPMethod =@"POST";
request.HTTPBody = data;
NSURLSessionDataTask * urlSessionDataTask = [urlSessiondataTaskWithRequest:requestcompletionHandler:completionHandler];
[urlSessionDataTaskresume];
}
返回的信息需要转码就直接使用
unicode转化
- (NSString *)replaceUnicode:(NSString *)unicodeStr
{
NSString *tempStr1 = [unicodeStrstringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
NSString *tempStr2 = [tempStr1stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];
NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];
NSData *tempData = [tempStr3dataUsingEncoding:NSUTF8StringEncoding];
NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData
mutabilityOption:NSPropertyListImmutable
format:NULL
errorDescription:NULL];
// NSLog(@"%@",returnStr);
return [returnStrstringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];
}
直接从最基本的请求和数据类型开始。
post请求,系统自带的
method可以为nil,但是data必须是json串转化来的
- (void)sendRequestToUrl:(NSString*)urlString method:(NSString*)method
data:(NSData*)data completionHandler:(void (^)(NSData *data,NSURLResponse
*response, NSError *error))completionHandler
{
NSURLSessionConfiguration * urlSessionConfiguration = [NSURLSessionConfigurationdefaultSessionConfiguration];
NSURLSession * urlSession = [NSURLSessionsessionWithConfiguration:urlSessionConfiguration];
NSURL *url = [NSURLURLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:url];
request.HTTPMethod =@"POST";
request.HTTPBody = data;
NSURLSessionDataTask * urlSessionDataTask = [urlSessiondataTaskWithRequest:requestcompletionHandler:completionHandler];
[urlSessionDataTaskresume];
}
返回的信息需要转码就直接使用
unicode转化
- (NSString *)replaceUnicode:(NSString *)unicodeStr
{
NSString *tempStr1 = [unicodeStrstringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
NSString *tempStr2 = [tempStr1stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];
NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];
NSData *tempData = [tempStr3dataUsingEncoding:NSUTF8StringEncoding];
NSString* returnStr = [NSPropertyListSerializationpropertyListFromData:tempData
mutabilityOption:NSPropertyListImmutable
format:NULL
errorDescription:NULL];
// NSLog(@"%@",returnStr);
return [returnStrstringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];
}
相关文章推荐
- iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】
- iOS中的核心框架
- iOS生命周期之WillTerminate不执行的问题
- iOS SDK 集成指南
- iOS开发之MD5封装及应用
- iOS设置同一个Label的不同颜色的字体
- iOS 9 适配中出现的坑
- iOS检测耳机插入拔出
- 【转】ios开发之生成所缩略图方式
- iOS系统的这些小功能会影响到你的APP哦~你测了没呢?
- IOS创建弹出层
- 证书制作,各个环节的原理以及推送证书制作,和如何为推送服务器提供证书
- IOS 图片失真
- iOS---错误合集
- ios 定位
- 关于NSURLSession之NSURLSessionConfiguration
- iOS 处理图片的一些小 Tip
- iOS中 XMPP即时通讯实现的主要步骤
- 关于iOS去除数组中重复数据的几种方法
- iOS 账号申请流程