0

我正在尝试将包含 html 实体以及商标和版权符号等奇数字符的字符串传递给 java 中 BasicNameValuePair 的值。当我尝试执行它时,现在静默失败。代码:

HttpPost httpPost = new HttpPost("http://localhost:8983");
String test = "<field name=\"description\">Example®&lt;ul&gt;&lt;li&gt; This is a bunch of stuff I would like to post&lt;/li&gt;&lt;/ul&gt;</field>
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("stream.body", test));   // HERE is the string
nvps.add(new BasicNameValuePair("commit","true"));

try {
    httpPost.setEntity(new UrlEncodedFormEntity(nvps));
} catch (UnsupportedEncodingException ex) {
    ex.printStackTrace();
}

HttpResponse response;
try {
    response = httpClient.execute(httpPost);
} catch (IOException ex) {
    ex.printStackTrace();
}

我认为 "& 符号会导致问题,因为它们可能是 URL 必须单独处理的查询字符。如何在 URL 中执行这种类型的字符串?

4

1 回答 1

0

查看此链接以处理特殊字符。我认为这可能会有所帮助

“放置在 HTML 标记中的任意文本通常需要更改,以确保生成的 HTML 保持有效。” http://www.javapractices.com/topic/TopicAction.do?Id=96

于 2013-07-26T20:20:19.807 回答