1

我要做的就是使用类似这样的代码将 URL 字符串发送到我的 RESTFUL Web 服务中

URL someURL= new URL("http://myWebService:port/service/"+CharSequence.getText());

一切都很顺利,直到我space在我的 URL 中发现字符错误。我找到了一些关于用 %20 替换空格字符的解决方案,我已经用这样的东西定义了:

URL someURL= new URL("http://myWebService:port/service/"+CharSequence.getText().replace(" ", "%20"));

再一次,一切似乎都很顺利,直到我发现该replace(Char oldChara, Char newChara)函数只能替换一个空格字符,而不是两个。

举个简单的例子,当我发送CharSequence.getText()带有值的值"We won"时不会出现错误,但是当我将值更改"We won the battles"为时,会出现一个错误,即有一些非法字符发送到我的 RESTFUL Web 服务。

任何形式的答案都会带来我的非常感谢和敬意~问候~

4

1 回答 1

1

使用replaceAll而不是replace.
虽然,您确实应该进行正确的 URL 编码。例如,您可以使用 。URLEncoder.encode

于 2010-07-15T23:09:25.000 回答