也许有人可以帮助我......
我写了一个非常简单的java http客户端,它将xml作为发布数据发送到网络服务器。现在奇怪的是,我们的客户报告说,在postdata中有一个尾随的&符号。我完全不知道如果你看一下源代码,我删除了每个变量......
public static void main(String[] args) {
try {
final URL httpURL = new URL(args[0]);
String request = "<root/>";
HttpURLConnection connection = (HttpURLConnection)httpURL.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
OutputStream os = connection.getOutputStream();
os.write(request.getBytes());
os.close();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String tmp;
String xml = new String();
while ((tmp = in.readLine()) != null) {
xml = xml.concat(tmp);
}
connection.getInputStream().close();
connection.disconnect();
System.out.println("Result: " + xml);
} catch (Exception e) {
System.err.println("Exception ocurred " + e);
}
}
正如您所看到的,当前我们发送一个固定的“xml”,它只是一个标签。
有没有人知道是否存在已知错误或情况,会发生类似情况?
我感谢每一个帮助:)。谢谢!
答案 0 :(得分:1)
我在代码中看不到任何会导致&符号被发送到服务器的问题。我怀疑问题可能在服务器端。
尝试使用wireshark或类似的东西捕获发送到服务器的TCP数据包,看看是否可以看到那里的流浪角色。