【转】Android中的http请求 URLEncode
2017-09-28 11:39
351 查看
原地址:http://blog.csdn.net/a102111/article/details/40978541
最近在搞http相关的处理,碰到一个URLEncode的问题,简单记录下,供后期查找。
发送给服务端的请求中的参数值,如果含有特殊符号,需要是做URLEncode,服务端才可以正常解析,否则可能会出错。
URLEncode主要是把一些特殊字符转换成转移字符,比如:&要转换成&这样的。
如果不转换,可能会在运行时直接报错。
如果全部转换,也会报错,因为会把其中非参数的部分也给转换了。
所以要确保只有参数部分被转换。
转换方式:
[java] view
plain copy
public static String toURLEncoded(String paramString) {
if (paramString == null || paramString.equals("")) {
LogD("toURLEncoded error:"+paramString);
return "";
}
try
{
String str = new String(paramString.getBytes(), "UTF-8");
str = URLEncoder.encode(str, "UTF-8");
return str;
}
catch (Exception localException)
{
LogE("toURLEncoded error:"+paramString, localException);
}
return "";
}
返回的参数的转换:
[java] view
plain copy
public static String toURLDecoded(String paramString) {
if (paramString == null || paramString.equals("")) {
LogD("toURLDecoded error:"+paramString);
return "";
}
try
{
String str = new String(paramString.getBytes(), "UTF-8");
str = URLDecoder.decode(str, "UTF-8");
return str;
}
catch (Exception localException)
{
LogE("toURLDecoded error:"+paramString, localException);
}
return "";
}
最近在搞http相关的处理,碰到一个URLEncode的问题,简单记录下,供后期查找。
发送给服务端的请求中的参数值,如果含有特殊符号,需要是做URLEncode,服务端才可以正常解析,否则可能会出错。
URLEncode主要是把一些特殊字符转换成转移字符,比如:&要转换成&这样的。
如果不转换,可能会在运行时直接报错。
如果全部转换,也会报错,因为会把其中非参数的部分也给转换了。
所以要确保只有参数部分被转换。
转换方式:
[java] view
plain copy
public static String toURLEncoded(String paramString) {
if (paramString == null || paramString.equals("")) {
LogD("toURLEncoded error:"+paramString);
return "";
}
try
{
String str = new String(paramString.getBytes(), "UTF-8");
str = URLEncoder.encode(str, "UTF-8");
return str;
}
catch (Exception localException)
{
LogE("toURLEncoded error:"+paramString, localException);
}
return "";
}
返回的参数的转换:
[java] view
plain copy
public static String toURLDecoded(String paramString) {
if (paramString == null || paramString.equals("")) {
LogD("toURLDecoded error:"+paramString);
return "";
}
try
{
String str = new String(paramString.getBytes(), "UTF-8");
str = URLDecoder.decode(str, "UTF-8");
return str;
}
catch (Exception localException)
{
LogE("toURLDecoded error:"+paramString, localException);
}
return "";
}
相关文章推荐
- Android中的http请求 URLEncode
- Android提交Http请求时,显示对话框进度条并修改UI元素
- Android直接通过ip进行Http请求
- ionic开发-怪癖001(http请求 android下无法正常运行)
- android开发的http请求
- android 使用http请求查询手机号码归属地
- Android提交Http请求时,显示对话框进度条并修改UI元素
- 【Android】Web开发之通过标准Java接口处理Http请求
- Android采用AES+RSA的加密机制对http请求进行加密
- zz:Android中发送Http请求实例(包括文件上传、servlet接收)
- [Android]HTTP请求
- 详解Android的OkHttp包编写异步HTTP请求调用的方法
- Android课程——HTTP请求(一)
- 【Android】Web开发之通过Apache接口处理Http请求
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
- Android系列之网络(三)----使用HttpClient发送HTTP请求(分别通过GET和POST方法发送数据)
- Android中发送Http请求(包括文件上传、servlet接收)的实例代码
- 对于Android的http请求的容错管理
- Android 发送http请求实例
- Android_Okhttp请求查询购物车