分解url转为post请求
来源:互联网 发布:手机的危害数据 英文 编辑:程序博客网 时间:2024/05/19 22:02
一些情况下,为了安全起见,我们需要把get方式的http请求处理成post方式。
比如,我们从后台拿到一个访问链接,如:http://www.test.qq.com/api/do?type=1&reason=test&flag=2
希望按如下方式发送请求:
post url:http://www.test.qq.com/api/do
post 参数:type 1
reason test
flag 2
怎么做呢,贴个比较简单的方式,直接做url分解就可以了。
-(void)approval:(NSString *)approvalUrl{ NSRange curRange = [approvalUrl rangeOfString:@"?"]; NSString *baseUrl = [approvalUrl mutableCopy]; NSString *paramStr = @""; if (curRange.location != NSNotFound) { baseUrl = [approvalUrl substringToIndex:curRange.location]; paramStr = [approvalUrl substringFromIndex:curRange.location+1]; } NSURL *url = [NSURL URLWithString:[baseUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; NSLog(@"url is:%@", url); NSDictionary *paramDic = [Utils parametersWithSeparator:@"=" delimiter:@"&" url:paramStr]; ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:url]; NSEnumerator *enumerator = [paramDic keyEnumerator]; id object; while (object = [enumerator nextObject]) { NSString *key = [NSString stringWithFormat:@"%@", object]; NSString *value = [NSString stringWithFormat:@"%@", [paramDic valueForKey:key]]; [request setPostValue:value forKey:key]; } [request setTimeOutSeconds:5]; [request setCachePolicy:NSURLRequestReloadIgnoringCacheData]; [request setDelegate:self]; [request setDidFinishSelector:@selector(requestSuccess:)]; [request setDidFailSelector:@selector(requestError:)]; [request setValidatesSecureCertificate:NO]; [request startAsynchronous];}
当然,如果需要做更复杂的url分解,可以考虑下正则表达式,后面再研究。
0 0
- 分解url转为post请求
- POST方法请求URL
- url post请求
- Post请求url
- Url Post请求
- URL发送post请求
- springmvc get请求转为post请求
- 将URL请求转为小写(Apache)
- OPenAM(OPenSSO)URL POST请求
- JAVA访问url POST请求
- 模拟post进行url请求
- post json 请求url第三方url
- ajax 中 请求 post方式请求url
- 向指定URL发送GET/POST请求
- 向Url发送post请求传递参数
- C# winform post 请求指定 url
- Android Post方法请求URL 迭代器
- Android Post方法请求URL 迭代器
- ruei安装文档
- [Phonegap+Sencha Touch] 移动开发8、store和proxy
- C#中抽象类和接口的区别与联系
- JS输入框校验
- 关于tinyxml的剖析及遍历
- 分解url转为post请求
- [Phonegap+Sencha Touch] 移动开发4、Sencha Touch初步使用
- 初识云计算day004
- 今天用Hex工具修改登陆器目录的时候发现原EXE文件被毁了
- 13-14寒假作业1
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测)
- C语言输入中对scanf和gets的讨论
- 动态加载原创js的代码
- SAS学习笔记(七)——关于异常值处理