HttpURLConnection 传参问题
我现在想用HttpURLConnection传一个参数到服务端,
服务端通过request.getparameter("param")来获取到这个参数
但是,不能把参数放在URL后面:比如http://xxxx?param=aaaaa,不能这样传参
看网上的例子,用post传参,是把参数放在正文里面
String content = " param= "
+ URLEncoder.encode(" a fat man ", " utf-8 ");
// DataOutputStream.writeBytes将字符串中的16位的 unicode字符以8位的字符形式写道流里面
out.writeBytes(content);
但是,我的content要传的是一个xml文件流。
Writer writer = new OutputStreamWriter(out);
// 发送soap消息到指定地址
writer.write(soapMsg); //soapMsg是xml文件内容
请问:在客户端如何写,才能把这个参数传到服务端,并用request.getparameter获取到呢?
------解决方案--------------------那放在form表单里面啊
------解决方案--------------------用HttpClient来模拟浏览器客户端
Java code
PostMethod method = new PostMethod("http://www.c2000.cn/reg.asp?action=save");
method.setParameter("name_c", username);
method.setParameter("codestr", codestr);
method.setParameter("RegAnswer", "11");
------解决方案--------------------
會存在一個針對此連接對象或其關聯對象的一個setter,getter方法
比如getRequestProperty
http://www.cnblogs.com/linjiqin/archive/2011/09/19/2181634.html
------解决方案--------------------
用HttpURLConnection传一个参数到服务端,那么我请问,这个服务器是自己的吗?并不是必须要用post!用这个都是获取别人服务器上的数据,此时就看别人是要求get还是post!
------解决方案--------------------
把xml文件转换成字节流的形式,再和普通参数一样传参咯。
------解决方案--------------------
------解决方案--------------------
urlConn.setRequestMethod("POST");这个要设成post同时还要设置如下三个:
urlConn.setDoOutput(true);urlConn.setDoInput(true);urlConn.setUseCaches(false);
post发送如下:
DataOutputStream out = new DataOutputStream(urlConn.getOutputStream());
// 正文,正文内容其实跟get的URL中'?'后的参数字符串一致
String content = "firstname=" + URLEncoder.encode("中国共产党", "utf-8");
out.writeBytes(content);
out.flush();
out.close();