开发中遇到了一个异常,在调用云信RESTful API接口时,报了 java.net.URISyntaxException: Illegal character in scheme name at index 0: 这个错:
原始代码:
HttpGet httpGet = new HttpGet(" https://roomserver-dev.netease.im/v1/api/rooms/1");
解决方法:
使用URI u = new URI (原url)转化
HttpGet httpGet = null; try{ URI uri = new URI(urlStr); httpGet = new HttpGet(uri); }catch(Exception e){ e.printStackTrace(); }
以下是网上其他的做法,测试也是可行的
HttpGet httpGet = null; try{ URL url = new URL(urlStr); URI uri = new URI(url.getProtocol(), url.getHost(), url.getPath(), url.getQuery(), null); httpGet = new HttpGet(uri); }catch(Exception e){ e.printStackTrace(); }