java.net.URISyntaxException的解决办法
2024-08-30 16:39:53
java.net.URISyntaxException的解决办法
近日在用HttpClient访问抓取汇率时,为了省力,直接采用
String url = "http://api.liqwei.com/currency/?exchange=usd|cny&count=1";
HttpClient client = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = client.execute(httpget);
以前用这种方法都没有问题,但这次却报如下错误:
java.net.URISyntaxException: Illegal character in query at index 44
查找了一些网上资料,说地址中涉及了特殊字符,如‘|’‘&’等。所以不能直接用String代替URI来访问。必须采用%0xXX方式来替代特殊字符。但这种办法不直观。所以只能先把String转成URL,再能过URL生成URI的方法来解决问题。代码如下
URL url = new URL(strUrl);
URI uri = new URI(url.getProtocol(), url.getHost(), url.getPath(), url.getQuery(), null);
HttpClient client = new DefaultHttpClient();
HttpGet httpget = new HttpGet(uri); 本文转自http://qsfwy.iteye.com/blog/1926302
感谢作者
最新文章
- Asp.net有关访问页面权限的限制和错误页面配置
- WPF-流文档元素
- 字符串截取函数substr和substring的不同及其相关说明
- PHP 图片文件上传代码
- LoadRunner 学习笔记(1)性能测试常见术语
- ubuntu网络连接图标不显示
- ubuntu-15.04 下编译 ijkplayer 安卓版
- sizeof,终极无惑(上)
- Hibernate(五)——经典解析一对一关联映射
- 深入理解Android中ViewGroup
- CSharp设计模式读书笔记(17):迭代器模式(学习难度:★★★☆☆,使用频率:★★★★★)
- 容器与Docker简介(三)Docker相关术语——微软微服务电子书翻译系列
- R语言S3类的理解与构建
- ykit入门
- rabbitMQ学习2-Python与rabbitmq
- python写商品管理练习
- 006 python操作符
- pypthon 3.6.5 绘制柱状图中文乱码的基本、根本、高效之解决方案~
- robotframework 运行集合
- Ruby:Open-uri和Net::HTTP的不同
热门文章
- Web框架_MVC vs MVT
- 约瑟夫环(java)
- JVM的异常体系
- python基础一 day9 函数升阶(2)
- Chrome浏览器安装React developer tools
- CF666E Forensic Examination SAM+倍增,线段树和并
- int (*a)[10]和int *a[10]的区别
- 客户端和服务器最多能发送和接收多少TCP连接数?
- MySQL多版本并发控制(MVCC)
- (5) openssl speed(测试算法性能)和openssl rand(生成随机数)