论坛首页 入门讨论版 Java

用HttpClient的Post一个表单,后面取不到Post的内容。

浏览 513 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-08-08
java 代码
 
  1. String url = "http://localhost/zhmsg/message/inputpost.php";  
  2.             PostMethod postMethod = new PostMethod(url);  
  3.             postMethod.setRequestHeader("Content-Type",  
  4.                     "text/xml; charset=UTF-8");  
  5.             // 填入各个表单域的值  
  6.             postMethod.addParameter(new NameValuePair("CLASS_TYPE", classType));  
  7.             postMethod.addParameter(new NameValuePair("SUBCLASS", msg  
  8.                     .getSubClass()));  
  9.             postMethod.addParameter(new NameValuePair("TRADE_TYPE", msg  
  10.                     .getTradeType()));  
  11.             postMethod.addParameter(new NameValuePair("TITLE", msg.getTitle()));  
  12.             postMethod.addParameter(new NameValuePair("AREA", msg.getArea()));  
  13.             postMethod.addParameter(new NameValuePair("PRICE", msg.getPrice()));  
  14.             postMethod.addParameter(new NameValuePair("INVALID_DATE", msg  
  15.                     .getInvalidDate()));  
  16.             postMethod.addParameter(new NameValuePair("CONTENT", msg  
  17.                     .getContent()));  
  18.             postMethod.addParameter(new NameValuePair("EMAIL", msg.getEmail()));  
  19.             postMethod.addParameter(new NameValuePair("TEL", msg.getTel()));  
  20.             postMethod.addParameter(new NameValuePair("CONTACT", msg  
  21.                     .getContact()));  
  22.             postMethod.addParameter(new NameValuePair("passauthcode""true"));  
  23.             postMethod.setUseExpectHeader(true);  
  24.             // 执行postMethod  
  25.             try {  
  26.                 System.out.println(httpClient.executeMethod(postMethod));  
  27.                 System.out.println(postMethod.getStatusLine());  
  28.                 String str = "";  
  29.                 try {  
  30.                     str = new String(postMethod.getResponseBody(), "utf-8");  
  31.                 } catch (IOException e) {  
  32.                     // TODO Auto-generated catch block  
  33.                     e.printStackTrace();  
  34.                 }  
  35.                 System.out.println(str);  
  36.                 postMethod.releaseConnection();  
  37.             } catch (Exception e) {  
  38.                 e.printStackTrace();  
  39.             }  
CLASS_TYPE,SUBCLASS .....这些Parameter在后台取出来都是空值。
why?

HttpClient 3.0.1
后台是php,用$_POST, $_Form, $_REQUEST取出来都是空值。

why?why?why?
   
时间:2008-07-19
我也遇到过这个问题,是因为你的
postMethod.setRequestHeader("Content-Type",
"text/xml; charset=UTF-8");
设置有问题

应该设置为:
postMethod.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=GBK");
   
0 请登录后投票
论坛首页 入门讨论版 Java

跳转论坛:
JavaEye推荐