【发布时间】:2016-11-02 13:01:22
【问题描述】:
我正在尝试通过 Apache REST 客户端从 java 发送 GET 请求并遇到了这个问题。
java.net.URISyntaxException:索引 75 处路径中的非法字符: http://torrento.sharepoint.com/_api/web/getfolderbyserverrelativeurl('/共享 java.net.URI$Parser.fail(URI.java:2848) 处的文件/测试')/文件 在 java.net.URI$Parser.checkChars(URI.java:3021) 在 java.net.URI$Parser.parseHierarchical(URI.java:3105) 在 java.net.URI$Parser.parse(URI.java:3053) 在 java.net.URI.(URI.java:588) 在 org.apache.http.client.utils.URIBuilder.(URIBuilder.java:82) 在 com.mstack.samples.sharepoint.SharepointApp.getAllFiles(SharepointApp.java:61) 在 com.mstack.samples.sharepoint.SharepointApp.main(SharepointApp.java:45)
代码 sn-p :-
httpClient = HttpClientBuilder.create().build();
uriBuilder = new URIBuilder(requestUrl);
System.out.println(uriBuilder);
httpGet = new HttpGet(uriBuilder.build());
httpGet.addHeader(AUTHORIZATION, "Bearer " + TOKEN);
httpGet.addHeader("accept", "application/json; odata=verbose");
response = httpClient.execute(httpGet);
requestUrl 是 http://torrento.sharepoint.com/_api/web/getfolderbyserverrelativeurl('/Shared Documents/test')/files
我知道 Shared 和 Documents 之间的空间是问题所在。试图对其进行编码。但这也没有用。请帮忙
【问题讨论】:
-
是:stackoverflow.com/a/724764/5655414 不是你想要的?
-
我进行了相应的更改并遇到了另一个问题。你能说我应该如何更改代码以使其正常工作吗?
-
“尝试对其进行编码。但这也不起作用。” - 向我们展示您尝试了什么以及发生了什么。因为解决方案是对 URL 的
path部分进行编码......以正确的方式。
标签: java rest sharepoint apache-httpclient-4.x