//字典转链接(参数)

- (NSString *)keyValueStringWithDict:(NSDictionary *)dict
{
if (dict == nil) {
return nil;
}
NSMutableString *string = [NSMutableString stringWithString:@"?"];
[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
[string appendFormat:@"%@=%@&",key,obj];
}]; if ([string rangeOfString:@"&"].length) {
[string deleteCharactersInRange:NSMakeRange(string.length - , )];
} return string;
} //链接转字典 (参数)
-(NSDictionary *)dictionaryWithUrlString:(NSString *)urlStr
{
if (urlStr && urlStr.length && [urlStr rangeOfString:@"?"].length == ) {
NSArray *array = [urlStr componentsSeparatedByString:@"?"];
if (array && array.count == ) {
NSString *paramsStr = array[];
if (paramsStr.length) {
NSMutableDictionary *paramsDict = [NSMutableDictionary dictionary];
NSArray *paramArray = [paramsStr componentsSeparatedByString:@"&"];
for (NSString *param in paramArray) {
if (param && param.length) {
NSArray *parArr = [param componentsSeparatedByString:@"="];
if (parArr.count == ) {
[paramsDict setObject:parArr[] forKey:parArr[]];
}
}
}
return paramsDict;
}else{
return nil;
}
}else{
return nil;
}
}else{
return nil;
}
}
//特殊链接解析不了 。  'https://wwww.baidu.com/#/sdffff?name=sdfff&pass=dddff'
/**
获取url的所有参数
@param url 需要提取参数的url
@return NSDictionary
*/
-(NSDictionary *) parameterWithURL:(NSURL *) url { NSMutableDictionary *parm = [[NSMutableDictionary alloc]init]; //传入url创建url组件类
NSURLComponents *urlComponents = [[NSURLComponents alloc] initWithString:url.absoluteString]; //回调遍历所有参数,添加入字典
[urlComponents.queryItems enumerateObjectsUsingBlock:^(NSURLQueryItem * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
[parm setObject:obj.value forKey:obj.name];
}]; return parm;
}

ios 从URL中截取所包含的参数,并且以字典的形式返回和参数字典转URL的更多相关文章

  1. ios --转载-从URL中截取所包含的参数,并且以字典的形式返回和参数字典转URL

    - (NSString *)keyValueStringWithDict:(NSDictionary *)dict { if (dict == nil) { return nil; } NSMutab ...

  2. URL中增加BASE64加密的字符串引起的问题(java.net.MalformedURLException:Illegal character in URL)

    序 昨天在做一个 Demo 的时候,因为是调用第三方的接口,採用的是 HTTP 的通信协议,依照文档上的说明,须要把參数进行加密后增加到 URL 中.可是,就是这个看似普普通通的操作,却让我着实费了非 ...

  3. object - c 在URL中截取特定参数的值

    #pragma mark - 获取url特定的参数 -(NSString *) jiexi:(NSString *)CS webaddress:(NSString *)webaddress { NSE ...

  4. 对 url 中含有的中文进行转码操作

    对 url 中含有的中文进行转码操作 一般情况下,将带有中文的 url 拷贝到开发工具,开发工具都会有相应的转码(自动转码), 现在大部分的浏览器也可以对含有中文的 url 进行转码(自动转码) 情景 ...

  5. 033 Url中特殊字符的处理

    在url跳转页面的时候,参数值中的#不见了,一直没有处理,今天有空看了一下,后来发现后台的过滤器之类的都没有处理,就比较奇怪了,原来是特殊字符的问题. 一:Url中的特殊字符 1.说明 这里还是需要做 ...

  6. URL中带加号的处理

    问题起因:      客户订购了一关键字为"e+h 变送器" , 在首页推荐广告中,会根据用户在search 搜索过的关键字进行一个匹配投放.技术实现是UED 通过JS 获取coo ...

  7. 【本周面试题】第1周 - 获取URL中的查询字符串参数、get和post的区别

    [此系列优先解决自己经历的面试题] 2018.11.16 面试题一:你如何获取浏览器URL中查询字符串中的参数? 题目代码: 测试地址为 https://www.sogou.com/tx?query= ...

  8. [故障引起的故事]URL中带加号的处理

    问题起因:      客户订购了一关键字为"e+h 变送器" , 在首页推荐广告中,会根据用户在search 搜索过的关键字进行一个匹配投放.技术实现是UED 通过JS 获取coo ...

  9. SpringBoot2.0 url中出现特殊符号「带括号{}'"等等」时会抛出400错误

    访问 http://127.0.0.1:8080/api?method=taxiong.goods.list&params={"page":1,"pageSize ...

随机推荐

  1. [Verilog]随意整数(奇数,偶数)分频器设计, 50%占空比

    module div_clk(clk_in, divisor, clk_out); input clk_in; input divisor; output clk_out; reg clk_out = ...

  2. composer error when run composer update

    本篇文章由:http://xinpure.com/composer-error-when-run-composer-update/ 错误 很多时候即使是常用的命令也会出现一些奇奇怪怪的错误, 难以预知 ...

  3. C#指南,重温基础,展望远方!(12)C#特性

    C# 程序中的类型.成员和其他实体支持使用修饰符来控制其行为的某些方面. 例如,方法的可访问性是由 public.protected.internal 和 private 修饰符控制. C# 整合了这 ...

  4. int.TryParse非预期执行引发的思考 ASP.NET -- WebForm -- 给图片添加水印标记 Windows -- 使用批处理文件.bat删除旧文件

    int.TryParse非预期执行引发的思考   问题出现 这天在写一个页面,想谨慎些就用了int.TryParse,结果出问题了. 代码如下: Copy int id = 1000; //Reque ...

  5. H5 input 聚焦 置顶

    myFocus (e) { this.active = true function getElementTop(element){ try { var actualTop = element.offs ...

  6. 解决 scrapy 爬虫出现Forbidden by robots.txt

    我们在爬取网站的时候,scrapy  默认的是遵循  robots.txt 协议,怎么破解这个文件 操作很简单,找到setting 文件 直接改成

  7. Openstack 03 - Nova Compute

    1.前言 非常早之前就開始着手写Openstack 系列的博客了,在写了总体架构和Keystone之后,准备写Nova,可是每次写到一半,自己心里就认为不踏实,由于似乎我并没有真正理解Nova,或者说 ...

  8. Mysql定时备份数据脚本

    项目集群搭建完成,数据库虽有做主从同步,但考虑到数据安全性,为了满足这个需求那么要每天对数据备份处理, 但每天手动进行备份处理太过于被动,而且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行 ...

  9. 基于jquery的适合电子商务网站首页的图片滑块

    今天给大家分享一款基于Sequence.js 的图片滑动效果,特别适合电子商务网站或者企业产品展示功能.带有图片缩率图,能够呈现全屏图片浏览效果.结合 CSS3 Transition 实现响应式的滑块 ...

  10. insert,update和delete下的注入

    PS:刚开始看到这个注入方式的时候,问米哥:“为啥updatexml就足以报错了,为啥还要使用insert?”知道答案的我觉得问了一个傻蛋的问题.不过没关系.慢慢积累.答案很简单,并不是所有的注入点程 ...