ios 网络超时属于ios 请求超时处理错误么

2015年4月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第三2015年3月 移动开发大版内专家分月排行榜第三2014年10月 移动开发大版内专家分月排行榜第三
2015年5月 移动开发大版内专家分月排行榜第一2015年4月 移动开发大版内专家分月排行榜第一2014年9月 移动开发大版内专家分月排行榜第一
2015年3月 移动开发大版内专家分月排行榜第二2014年8月 移动开发大版内专家分月排行榜第二
2011年11月 专题开发/技术/项目大版内专家分月排行榜第二2011年8月 专题开发/技术/项目大版内专家分月排行榜第二
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。iOS开发网络篇—GET请求和POST请求 - 文顶顶 - 博客园
最怕你一生碌碌无为 还安慰自己平凡可贵
iOS开发网络篇&GET请求和POST请求
一、GET请求和POST请求简单说明
创建GET请求
1.设置请求路径
NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
NSURL *url=[NSURL URLWithString:urlStr];
2.创建请求对象
NSURLRequest *request=[NSURLRequest requestWithURL:url];
3.发送请求
创建POST请求
// 1.设置请求路径
NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要传递参数
2.创建请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
request.timeoutInterval=5.0;//设置请求超时为5秒
request.HTTPMethod=@"POST";//设置请求方法
//设置请求体
NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
//把拼接后的字符串转换为data,设置请求体
request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
3.发送请求
建议:提交用户的隐私数据一定要使用POST请求
相对POST请求而言,GET请求的所有参数都直接暴露在URL中,请求的URL一般会记录在服务器的访问日志中,而服务器的访问日志是黑客攻击的重点对象之一
用户的隐私数据如登录密码,银行账号等。
1.通过请求头告诉服务器,客户端的类型(可以通过修改,欺骗服务器)
// 1.设置请求路径
NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要传递参数
2.创建请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默认为get请求
request.timeoutInterval=5.0;//设置请求超时为5秒
request.HTTPMethod=@"POST";//设置请求方法
//设置请求体
NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
//把拼接后的字符串转换为data,设置请求体
request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
//客户端类型,只能写英文
[request setValue:@"ios+android" forHTTPHeaderField:@"User-Agent"];
2.加强对中文的处理
问题:URL不允许写中文
在GET请求中,相关代码段打断点以验证。
在字符串的拼接参数中,用户名使用&文顶顶&.
转换成URL之后整个变成了空值。
提示:URL里面不能包含中文。
解决:进行转码
1.设置请求路径
NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
urlStr= [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url=[NSURL URLWithString:urlStr];
2.创建请求对象
NSURLRequest *request=[NSURLRequest requestWithURL:url];
调试查看:
&说明:使用NSURLSession发送GET和POST请求请参考最新博文:/wendingding/p/5168772.html
随笔 - 179
评论 - 1477本文讲的是iOS开发中不合法的网络请求地址如何解决_IOS,
NSString *const kWebsite = @/search/index?tn=baiduimage&ipn=r&ct=&cl=2&amp
NSString *const kWebsite = @/search/index?tn=baiduimage&ipn=r&ct=&cl=2&lm=-1&st=-1&fr=&sf=1&fmq=9_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=风景;
这是一个百度图片风景分类里的图片地址,当我发送请求时发生Unsuppotedurl错误
百度了一下,产生错误的原因是URL 不能包含 ASCII 字符集,汉字, 这样的字符必须进行转义的字符
NSString *urlString = [kWebsite stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
以上所述是小编给大家介绍的iOS开发中不合法的网络请求地址的全部叙述,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ios开发
ios网络请求地址
ios 请求超时怎么解决、ios开发https请求、ios开发网络请求、ios开发网络请求封装、ios开发post请求,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
的信息,还有ios 请求超时怎么解决、ios开发https请求、ios开发网络请求、ios开发网络请求封装、ios开发post请求等
,所有相关内容均不代表云栖社区的意见!主题 : 问下网络请求时超时重试怎么搞
级别: 侠客
UID: 453383
可可豆: 301 CB
威望: 294 点
在线时间: 640(时)
发自: Web Page
来源于&&分类
问下网络请求时超时重试怎么搞&&&
failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {&&&&&&&&&&&&&&&&if ([other isKindOfClass:[MBProgressHUD class]]) {&&&&&&&&&&&&MBProgressHUD *hud = (MBProgressHUD*)&&&&&&&&&&&&hud.labelText = @&超时重连&;&&&&&&&&}&&&&&&&&[[self class] postInfoWithUrl:url parmeters:parmeters withOther:other block:block];&&&&&&&&&&&&&&&&block(nil,error);&&&&&&&&&&&&}];这样的写法有什么问题么&& 还有想加一个重试次数,在单例里面怎么用这个属性来记录? 问的有些基础,见谅
级别: 新手上路
UID: 573518
可可豆: 122 CB
威望: 87 点
在线时间: 47(时)
发自: Web Page
个人感觉还是加一个延时再重新进行下一次请求比较好,至于重试次数加一个变量,计数判断一下就好啦
博客主页:/users/37f
级别: 侠客
UID: 548268
可可豆: 150 CB
威望: 133 点
在线时间: 182(时)
发自: Web Page
很好奇为什么MBProgressHUD还需要进行class判断另外[self class]是什么鬼。。。直接写class不行吗为啥还要调用一下
NSLog(@&Whimsicality is good&);
级别: 侠客
UID: 453383
可可豆: 301 CB
威望: 294 点
在线时间: 640(时)
发自: Web Page
回 2楼(零点五) 的帖子
写习惯了 这样写会出现什么问题么&&。。
级别: 侠客
UID: 453383
可可豆: 301 CB
威望: 294 点
在线时间: 640(时)
发自: Web Page
回 1楼(MajorLMJ) 的帖子
单例里面加了之后不知为何总是有问题&& 直接给改成从外部传一个进来了,, 还有这种调用会不会有问题?
级别: 侠客
UID: 548268
可可豆: 150 CB
威望: 133 点
在线时间: 182(时)
发自: Web Page
回 3楼(hanghang199439) 的帖子
不会有问题啊,就是看着很别扭
NSLog(@&Whimsicality is good&);
级别: 侠客
UID: 548268
可可豆: 150 CB
威望: 133 点
在线时间: 182(时)
发自: Web Page
你把整段代码发上来下~
NSLog(@&Whimsicality is good&);
级别: 骑士
UID: 568079
可可豆: 833 CB
威望: 686 点
在线时间: 373(时)
发自: Web Page
看的我尴尬癌都犯了
___________我有一壶酒,足以慰红尘。
级别: 侠客
UID: 453383
可可豆: 301 CB
威望: 294 点
在线时间: 640(时)
发自: Web Page
回 7楼(Mars_pananting) 的帖子
有尴尬癌要治&&接受吐槽
级别: 骑士
UID: 568079
可可豆: 833 CB
威望: 686 点
在线时间: 373(时)
发自: Web Page
回 8楼(hanghang199439) 的帖子
晚上出来开黑
___________我有一壶酒,足以慰红尘。
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版}

我要回帖

更多关于 ios 网络请求超时 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信