文档章节

URL中特殊字符导致的请求失败问题

gitzhengjianhua
 gitzhengjianhua
发布于 2017/02/06 23:42
字数 445
阅读 75
收藏 0

今天在项目中实现一个上传功能,以往写的很溜的代码突然间溜不动了。服务器端并没有成功的将数据插入。时间紧任务重,闲话不说了,直接上干货。

关于上传失败,最后我们两个人花了两个小时排查下来原因是因为url中包含特殊字符,如空格、:、/、等。因为上传的参数中包含了日期这一参数,使用的是系统提供的,而且后台也需要这中格式。所以,需要将时间如:2016/12/12   06:08:57这种参数原样上传。但是,url中不能将/、空格、:这三个特殊字符编码,将这些特殊字符转化为url中可以识别并且后台也可以识别的编码。我使用的是将这三种特殊字符使用对应的编码值来替换。

 

:     冒号                                                  %3a
+    URL 中+号表示空格                             %2B  
空格 URL中的空格可以用+号或者编码           %20
/   分隔目录和子目录                                 %2F    
?    分隔实际的URL和参数                          %3F    
%    指定特殊字符                                     %25    
#    表示书签                                            %23    
&    URL 中指定的参数间的分隔符                %26    
=    URL 中指定参数的值                            %3D

对了,如果以上特殊字符没有你要使用的可以在百度上搜索http://tool.chinaz.com/tools/urlencode.aspx然后将你需要编码的特殊字符输入得到对应编码值。

参考代码

//获取当前时间,日期
    NSDate *currentDate = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"YYYY/MM/dd hh:mm:ss"];
    NSString *dateString = [dateFormatter stringFromDate: currentDate];
    dateString = [dateString stringByReplacingOccurrencesOfString:@" " withString: @"%20"];
    dateString = [dateString stringByReplacingOccurrencesOfString:@"/" withString: @"%2F"];
    dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString: @"%3a"];

随后将这个参数拼入url参数位置,问题完美解决。😀

© 著作权归作者所有

共有 人打赏支持
gitzhengjianhua

gitzhengjianhua

粉丝 4
博文 25
码字总数 23833
作品 3
渭南
Python BeautifulSoup爬取oschina个人blog文章

前段时间学习了一些python的模块,要熟悉各个功能还是得写写代码的,所以根据前面掌握的模块知识,写了一个小程序,专门用来爬取oschina的个人博客文章的小工具。经常看到一些大牛的好文章,...

China_OS
2012/12/21
0
0
RestTemplate 查询参数有特殊字符

前面说到如何使用 Spring 的 RestTemplate 进行数据请求,如何避免乱码问题,在项目开发中还遇到了文件上传和下载,所以也写了使用 RestTemplate 包装文件下载的组件。同样,项目越大遇到的问...

learn_more
2016/07/02
1K
0
Apache CouchDB 1.3.0 发布,文档数据库

Apache CouchDB 1.3.0 发布了,Apache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 作为数据格式的 REST 接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。 CouchDB ...

oschina
2013/04/10
908
0
WebMagic 0.5.0 发布,Java 爬虫框架

此次更新主要增加了监控功能,同时重写了多线程部分,使得多线程下性能有了极大的提升。另外还包含注解模式一些优化、多页面的支持等功能。 WebMagic开源已经一周年,项目也得到了不少发展,...

黄亿华
2014/04/28
3.2K
23
关于JS的编码转换问题

在进行JS开发过程中,尤其是在开发报表时,报表已集成到Web页面中,通过在页面传递参数至报表中时,会发现有时某些参数值,传递到报表中是显示为问号或乱码等等一系列不能正常显示的情况。 ...

九月你好123
2016/08/11
13
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
12
1
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部