JC_陈 2012-11-26 16:17
浏览 414
已采纳

httpClient与服务器建立连接时cookie传递问题

httpClient与服务器建立连接时cookie传递问题,使用httpGet或httpPost方式怎么传cookie给服务器?

  • 写回答

1条回答 默认 最新

  • iteye_5246 2012-11-26 16:27
    关注

    送你个demo
    [code="java"]package http.demo;
    import org.apache.commons.httpclient.*;
    import org.apache.commons.httpclient.cookie.*;
    import org.apache.commons.httpclient.methods.*;
    /**

    • 用来演示登录表单的示例
    • @author Liudong */ public class FormLoginDemo { static final String LOGON_SITE = "localhost" ; static final int LOGON_PORT = 8080; public static void main(String[] args) throws Exception{ HttpClient client = new HttpClient(); client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT); // 模拟登录页面 login.jsp->main.jsp PostMethod post = new PostMethod( "/main.jsp" ); NameValuePair name = new NameValuePair( "name" , "ld" ); NameValuePair pass = new NameValuePair( "password" , "ld" ); post.setRequestBody( new NameValuePair[]{name,pass}); int status = client.executeMethod(post); System.out.println(post.getResponseBodyAsString()); post.releaseConnection(); // 查看 cookie 信息 CookieSpec cookiespec = CookiePolicy.getDefaultSpec(); Cookie[] cookies = cookiespec.match(LOGON_SITE, LOGON_PORT, "/" , false , client.getState().getCookies()); if (cookies.length == 0) { System.out.println( "None" ); } else { for ( int i = 0; i < cookies.length; i++) { System.out.println(cookies[i].toString()); } } // 访问所需的页面 main2.jsp GetMethodget=newGetMethod("/main2.jsp"); client.executeMethod(get); System.out.println(get.getResponseBodyAsString()); get.releaseConnection(); } }[/code]
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘