为什么我用HttpClient访问这样的url (http://10.0.0.32/appOper/dcAppStyle!monitorAppStyle.action?applicaiton=9527)时 返回的状态码为:302    ,但我 在url里直接写 一个类似 (http://10.0.0.32/jsp/app/showApp.jsp) 这样的 页面 能返回正确的结果.. 是不是HttpClient不能访问 action带参数的 这样的URL呀...还望各位 大虾 帮下忙

解决方案 »

  1.   

    当然可以带参数了!
    但是你最好直接请求某个action
    post的参数通过
    HttpMethodParams p = new HttpMethodParams(); 
    p.setParameter("","");
    来设置!
      

  2.   


            String url = "http://10.0.0.32/appOper/dcAppStyle!monitorAppStyle.action";
            PostMethod post = new PostMethod(url); HttpMethodParams p = new HttpMethodParams();  
    p.setParameter("applicaiton","9527");        return post;
           
         我怎样把参数 和post请求联系起来呀
      

  3.   

    HttpMethod method = new PostMethod(url); 
    method.setParams(p); 
      

  4.   


      返回的状态还是302public static void main(String[] args) { try {
    HttpClient client = new HttpClient(); HttpMethod method = getPostMethod(); // 使用POST方式提交数据

    int statusCode = client.executeMethod(method); // 打印服务器返回的状态
    String state = method.getStatusLine().toString();
    System.out.println("服务器返回的状态:" +state +"    状态码:" +statusCode); // 打印结果页面
    String response = new String(method.getResponseBodyAsString()
    .getBytes("gb2312"));
    // 打印返回的信息
    System.out.println("结果页面" + response); method.releaseConnection();

    } catch (Exception e) {
    e.printStackTrace();
    }
    }private static HttpMethod getPostMethod() { String url = "http://10.0.0.32/appOper/dcAppStyle!monitorAppStyle.action";

    HttpMethodParams p = new HttpMethodParams();     
    p.setParameter( "applicaiton ", "9527 ");                HttpMethod post = new PostMethod(url);  
    post.setParams(p); return post; }
      

  5.   

    我在地址栏 直接 输入这个 url 可以访问...
      

  6.   

    302说明页面有进行跳转,你要看看返回的数据包中是否有个location属性值,再用httpclient发一次包,地址就是location里面的值,这样返回的HTML源码就是正确的了。