向Internet发送xml数据
利用HttpURLConnection对象,我们可以向网络发送xml数据.
StringBuilder xml = new StringBuilder();
xml.append("<?xmlversion=\"1.0\" encoding=\"utf-8\" ?>");
xml.append("<M1V=10000>");
xml.append("<U I=1D=\"N73\">中国</U>");
xml.append("</M1>");
byte[] xmlbyte =xml.toString().getBytes("UTF-8");
URL url = newURL("http://localhost:8080/itcast/contanctmanage.do?method=readxml");
HttpURLConnection conn =(HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5*1000);
conn.setDoOutput(true);//允许输出
conn.setUseCaches(false);//不使用Cache
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection","Keep-Alive");//维持长连接
conn.setRequestProperty("Charset","UTF-8");
conn.setRequestProperty("Content-Length",String.valueOf(xmlbyte.length));
conn.setRequestProperty("Content-Type","text/xml; charset=UTF-8");
DataOutputStream outStream =new DataOutputStream(conn.getOutputStream());
outStream.write(xmlbyte);//发送xml数据
outStream.flush();
if (conn.getResponseCode()!= 200) throw new RuntimeException("请求url失败");
InputStream is =conn.getInputStream();//获取返回数据
String result =readAsString(is,"UTF-8");
outStream.close();