相关疑难解决方法(0)

编码和解码rfc2396 URL

对URL字符串进行编码的最佳方法是什么,使它们符合rfc2396并解码符合rfc2396的字符串,例如将%20替换为空格字符?

编辑:URLEncoder和URLDecoder类编码/解码符合rfc2396的URL,它们编码为MIME类型application/x-www-form-urlencoded,用于编码HTML表单参数数据.

java rfc2396

10
推荐指数
1
解决办法
1万
查看次数

来自commons-httpclient-3.1的URIUtil.encodePath发生了什么?

我想做问题724043中描述的内容,即编码URI的路径组件.建议这样做的是来自Commons HttpClient 3.1的URIUtil.不幸的是,该类似乎已从最新版本的HttpClient中消失.来自HttpClient 4.1的类似命名的类URIUtils不提供相同的功能.这个类/方法是否被移动到我不知道的其他库或者它刚刚消失了?我最好只将3.1版本中的类复制到我的代码中,还是有更简单的方法?

java encoding uri escaping httpclient

9
推荐指数
1
解决办法
7149
查看次数

如何在Android上使用Google的中文字符文字转语音服务?

我正试图从谷歌的文字转语音功能中提取音频文件.基本上,你抛出链接,然后连接你想要在它结束时说出的任何内容.我已经得到以下代码,对英语工作得很好,所以我认为问题必须是如何在请求中对汉字进行编码.这是我得到的:

String text = "text to be spoken";
public static final String AUDIO_CHINESE= "http://www.translate.google.com/translate_tts?tl=zh&q=";
public static final String AUDIO_ENGLISH = "http://www.translate.google.com/translate_tts?tl=en&q=";

URL url = new URL(AUDIO_ENGLISH + text);

urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty("Accept-Charset", Variables.UTF_8);

if (urlConnection.getResponseCode() ==200) {
     //get byte array in response
     in = new DataInputStream(urlConnection.getInputStream());
} else {
     in = new DataInputStream(urlConnection.getErrorStream());
}
//use commons io
byte[] bytes = IOUtils.toByteArray(in);

in.close();
urlConnection.disconnect();

return bytes;
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用中文字符时,它会返回一些我无法在媒体播放器中播放的内容(我怀疑它不是一个合适的音频文件,因为绝大多数字节都是'85').所以我试过了两个

String chText = "??";
URL url = new URL(AUDIO_CHINESE + URLEncoder.encode(chText, "UTF-8)); …
Run Code Online (Sandbox Code Playgroud)

java url android url-encoding chinese-locale

7
推荐指数
1
解决办法
3085
查看次数

为什么apache-commons lib编码空间为+而不是%20?

我使用URLCodecApache的百科全书编解码器编码的网址,但其编码空间,+还不如%20

为什么?什么是解决方案?

java url-encoding apache-commons apache-commons-codec

6
推荐指数
1
解决办法
4825
查看次数

如何用Java编码百分比?

RFC 3986中所述,如何对字符串进行百分比编码?即我不想(IMO,怪异)www-url-form-encoded,因为 不同的.

如果重要,我编码的数据不一定是整个URL.

java percent-encoding

5
推荐指数
2
解决办法
2949
查看次数

java.net.URISyntaxException:索引 75 处的路径中存在非法字符

我正在尝试通过 Apache REST 客户端从 java 发送 GET 请求并遇到了这个问题。

java.net.URISyntaxException:索引 75 处的路径中存在非法字符:http : //torrento.sharepoint.com/_api/web/getfolderbyserverrelativeurl ('/Shared Documents/test')/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) at java.net.URI.(URI.java:588) at org.apache.http.client.utils.URIBuilder.(URIBuilder.java:82) at com.mstack.samples.sharepoint .SharepointApp.getAllFiles(SharepointApp.java:61) 在 com.mstack.samples.sharepoint.SharepointApp.main(SharepointApp.java:45)

代码片段:-

            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);
Run Code Online (Sandbox Code Playgroud)

requestUrl 在哪里 http://torrento.sharepoint.com/_api/web/getfolderbyserverrelativeurl('/Shared Documents/test')/files

我知道共享和文档之间的空间是问题所在。试图对其进行编码。但这也不起作用。请帮忙

java rest sharepoint apache-httpclient-4.x

5
推荐指数
1
解决办法
2万
查看次数

当 URL 包含“]”时,使用 URL.getPort() 提取端口号时出现问题

我正在使用 java.net.URL.getPort() 从 URL 中提取端口号。大多数时候这效果很好。但是,当 URL 包含右括号字符“]”时,它将失败:

new URL("http://abc.com:123/abc.mp3").getPort();
 returns: (int) 123
Run Code Online (Sandbox Code Playgroud)

但如果 URL 包含“]”我得到:

new URL("http://abc.com:123/abc].mp3").getPort();
 returns: (int) -1
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑#1:作为测试,我将相同的代码粘贴到非 Android Java 应用程序中,并且端口号已正确返回,因此这似乎是 Android SDK 的异常情况。

java url android

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

URI中的百分比编码

我想知道如何转换URI:

%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%D1%8F%D0%B7%D1%8B%D0%BA
Run Code Online (Sandbox Code Playgroud)

??????? ????
Run Code Online (Sandbox Code Playgroud)

我知道urldecodePHP中的函数.我在Java(Android)中寻找相同的功能.有人能帮助我吗?谢谢.

java browser android httpservice

3
推荐指数
1
解决办法
3313
查看次数

URL非法字符

这是我的代码:

HttpClient client = new DefaultHttpClient();
            client.getParams().setParameter(CoreProtocolPNames.USER_AGENT, "android");
            HttpGet request = new HttpGet();
            request.setHeader("Content-Type", "text/plain; charset=utf-8");
            Log.d("URL", convertURL(URL));
            request.setURI(new URI(URL));
            HttpResponse response = client.execute(request);
            bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            StringBuffer stringBuffer = new StringBuffer("");
            String line = "";
            String NL = System.getProperty("line.separator");
Run Code Online (Sandbox Code Playgroud)

我不知道我的网址中有哪个错误:

http://localhost/CyborgService/chatservice.php?action=recive_game&nick_sender=mkdarkness&pass=MV030595&date_last=2012-11-18 09:46:37&id_game=1

我已经使用了一个函数来转换URL,但是没有用.但是,如果我在浏览器中尝试打开此URL,则会成功打开.

这是我的错误:

11-18 21:46:37.766: E/GetHttp(823): java.net.URISyntaxException: Illegal character in query at index 127: http://192.168.0.182/CyborgService/chatservice.php?action=recive_game&nick_sender=mkdarkness&pass=MV030595&date_last=2012-11-18 09:46:37&id_game=1
Run Code Online (Sandbox Code Playgroud)

java url android uri

3
推荐指数
1
解决办法
2万
查看次数

使用正则表达式编码URL字符串

我正在尝试用不同的值替换几个不同的字符.例如,如果我有:#love hate那么我想做的就是回来%23love%20hate

这与团体有关吗?我试图理解使用组,但我真的不理解它.

java regex url

2
推荐指数
1
解决办法
3895
查看次数

在网址中转义非英文字符

如何从我的网址中删除"ö"等非英文字符,因为它会导致404响应错误.我正在使用Java.请帮我.

java url character-encoding non-english

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