日期:2014-05-19  浏览次数:20700 次

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文件转换成字节流的形式,再和普通参数一样传参咯。
------解决方案--------------------
探讨

引用:
會存在一個針對此連接對象或其關聯對象的一個setter,getter方法
比如getRequestProperty

http://www.cnblogs.com/linjiqin/archive/2011/09/19/2181634.html


这篇文章里,
1、向服务器发送get请求 这个是可以实现,但是我不想用get请求

2、向服务器发送p……

------解决方案--------------------
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();