相关疑难解决方法(0)

Android:如何解析带有空格的URL String到URI对象?

我有一个字符串表示包含空格的URL,并希望将其转换为URI对象.如果是简单的尝试

String myString = "http://myhost.com/media/File Name that has spaces inside.mp3";
URI myUri = new URI(myString);
Run Code Online (Sandbox Code Playgroud)

它给了我

java.net.URISyntaxException: Illegal character in path at index X
Run Code Online (Sandbox Code Playgroud)

其中index X是URL字符串中第一个空格的位置.

如何可以解析myString到一个URI对象?

java url android uri httprequest

61
推荐指数
2
解决办法
11万
查看次数

此URI URL有什么问题?IllegalArgumentException,非法字符

我收到一个错误:

W/System.err(32720): java.lang.IllegalArgumentException: Illegal character in query at index 89: https://api.mongolab.com/api/1/databases/activity_recognition/collections/entropy_data?f={%20mean0%22:%201}&apiKey=myApiKey


String apiURI = "https://api.mongolab.com/api/1/databases/activity_recognition/collections/entropy_data?f={%22mean0%22:%201}&apiKey=myApiKey";
Run Code Online (Sandbox Code Playgroud)
  • 当我将此URI粘贴到浏览器中时,它可以正常工作。
  • 当我粘贴到浏览器中时,将其打开,然后将URI复制回我的代码中,这无济于事。
  • 索引89是{-这是一个非法字符吗?

我尝试这样做-用%7B代替大括号:但这无济于事

https://api.mongolab.com/api/1/databases/activity_recognition/collections/entropy_data?f=%7B"mean0":%201%7D&apiKey=myApiKey
Run Code Online (Sandbox Code Playgroud)

任何人?


编辑:

    String query = "https://api.mongolab.com/api/1/databases/activity_recognition/collections/entropy_data?f={\""+arrayName+"\":%201}&apiKey=myApiKey";
    try {
        query = URLEncoder.encode(query, "utf-8");
    } catch (UnsupportedEncodingException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    String apiURI = query;
Run Code Online (Sandbox Code Playgroud)

没有帮助。现在我得到:

05-23 22:13:21.855: E/SendMail(12428): Target host must not be null, or set in parameters. scheme=null, host=null, path=https://api.mongolab.com/api/1/databases/activity_recognition/collections/entropy_data?f={"mean0":%201}&apiKey=myAPI
Run Code Online (Sandbox Code Playgroud)

如果我在查询的声明中将%20更改为空格,则会得到:

 05-23 22:14:51.435: E/SendMail(13164): Target host must not be null, or set in parameters. scheme=null, …
Run Code Online (Sandbox Code Playgroud)

java rest android uri mongodb

4
推荐指数
1
解决办法
7788
查看次数

标签 统计

android ×2

java ×2

uri ×2

httprequest ×1

mongodb ×1

rest ×1

url ×1