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感谢作者

java.net.URISyntaxException的解决办法相关推荐

  1. java出现no XXX in java.library.path的解决办法及eclipse配置

    java出现no XXX in java.library.path的解决办法及eclipse配置 java一般使用两个path:classpath 和 java.library.path classp ...

  2. 【原创】-eclipse下连Hadoop报java.lang.OutOfMemoryError: Java heap space的解决办法

    eclipse下java.lang.OutOfMemoryError: Java heap space的解决办法: 一.在eclipse下远程连接Hadoop出现如下问题: 14/03/28 22:3 ...

  3. 方法未找到异常java.lang.NoSuchMethodException的解决办法

    方法未找到异常java.lang.NoSuchMethodException的解决办法 客户端运行,IDE日志抛出如下异常: java.lang.NoSuchMethodException: com. ...

  4. Android gradle编译错误OOM:java heap space的解决办法

    Android开发中,在编译较大规模项目时,出现内存溢出错误: OutOfMemeryError OOM:java heap space; 尝试解决办法: 1. 开发项目根项目下增加/demo/gra ...

  5. Maven 打包报“java.lang.StackOverflowError”错解决办法

    Maven 打包报"java.lang.StackOverflowError"错解决办法 1.在命令行执行 2.在IDEA集成开发工具中执行 1.在命令行执行 平台:windows ...

  6. osx java 6_OSX 10.11 java 6不兼容怎么办?OSX 10.11 java 6不兼容解决办法

    OSX 10.11 java 6不兼容怎么办?有很多用户在使用最新的OSX 10.11系统时会发现java SE 6不兼容的问题,其实要解决 这个问题比较简单,用户需要下载安装最新的Java SE 8 ...

  7. Android下载apk异常java.net.SocketTimeoutException: timeout解决办法

    1.问题 实现下载apk的时候,抛出下面异常 java.net.SocketTimeoutException: timeout 2.分析 很明显是socket超时了,由于我的wifi网络比较慢,设置的 ...

  8. Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法

    当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...

  9. 【ERROR】java java.lang.NoClassDefFoundError 的解决办法(全)

    一 第一种,也是新手容易犯的错误,那就是classpath环境变量配置错误.这个错误在我最开始学习android的时候就遇到过,弄的焦头烂额的. 解决办法: 在系统环境变量那一栏中点->新建cl ...

最新文章

  1. 深度学习基础:张量运算
  2. python打印类的属性
  3. Linxu嵌入式汇编语言
  4. C51端口结构和工作原理(转)
  5. boost::statechart模块实现状态迭代测试
  6. Qt5使用windeployqt后 exe文件还是无法执行 无法定位程序输入点 _ZdaPvj 于动态链接库 libstdc++-6.dll
  7. 复旦大学把衣服变成了显示器,能聊天能导航,水洗弯折都不怕
  8. MC新手入门(十三)------ 添加游戏角色
  9. native8081端口 react_教你轻松修改React Native的端口(如何同时运行多个React Native、8081端口占用问题)...
  10. php 正则提取连续字母,PHP匹配连续的数字或字母的正则表达式
  11. 为什么要用 enable_shared_from_this ?
  12. linux文件放在哪个目录,linux中驱动放在哪个目录下
  13. 超强功能WebSSH安装,解决Web远程SSH终端
  14. studio3t连接mysql_使用 Studio 3T 连接到 Azure Cosmos DB 的 API for MongoDB | Microsoft Docs
  15. 【梳理】离散数学 第10章 群与环 10.2 子群与群的陪集分解
  16. 股价破300迎新年开门红,投资者们中了苹果的毒?
  17. 通俗易懂理解几何光学(二)共轴球面系统与理想光学系统
  18. 在centOS中安装MySQL时遇到Configuring incomplete,errors occurred该怎么办?
  19. ubuntu 超级优化,不仅仅是禁用几个服务哦
  20. 数学之路(3)-数据分析(5)

热门文章

  1. 漫画:优秀的程序员具备哪些属性?
  2. Java程序员从笨鸟到菜鸟之(九十一)跟我学jquery(七)jquery动画大体验
  3. Python NumPy-快速处理数据
  4. 基于深度学习的图像分类Image classification with deep learning常用模型
  5. Scala基础教程(七):类和对象、特征
  6. 几本对于笔试和面试有用的书
  7. 信息系统项目管理师-质量管理知识点
  8. 各类排序算法总结(作者:__Boost)
  9. WindowsPowerShell常用命令
  10. RxJS/Cycle.js 与 React/Vue 相比更适用于什么样的应用场景?