posts - 495,comments - 227,trackbacks - 0
          public String baseGetMethod2(String link) {
                  HttpParams params = new BasicHttpParams();
                  // HTTP 協(xié)議的版本,1.1/1.0/0.9
                  HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
                  // 字符集
                  // HttpProtocolParams.setContentCharset(params, "UTF-8");
                  // 偽裝的瀏覽器類型
                  // IE7 是
                  // Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)
                  //
                  // Firefox3.03
                  // Mozilla/5.0 (Windows; U; Windows NT 5.2; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
                  //
                  // HttpProtocolParams.setUserAgent(params, "HttpComponents/1.1");
                  HttpProtocolParams.setUseExpectContinue(params, true);
                  
                  BasicHttpProcessor httpproc = new BasicHttpProcessor();
                  httpproc.addInterceptor(new RequestContent());
                  httpproc.addInterceptor(new RequestTargetHost());
                  httpproc.addInterceptor(new RequestConnControl());
                  httpproc.addInterceptor(new RequestUserAgent());
                  httpproc.addInterceptor(new RequestExpectContinue());
                  httpproc.addInterceptor(new RequestAddCookies());
                  
                  HttpRequestExecutor httpexecutor = new HttpRequestExecutor();
                  HttpContext context = new BasicHttpContext(null);
                  HttpHost host = new HttpHost("innopac.lib.xjtu.edu.cn", 80);
                  
                  DefaultHttpClientConnection conn = new DefaultHttpClientConnection();
                  ConnectionReuseStrategy connStrategy = new DefaultConnectionReuseStrategy();
                  
                  try {
                      String targets = "/patroninfo~S3*chx/1004896/items";
                      
                      if (!conn.isOpen()) {
                          Socket socket = new Socket(host.getHostName(), host.getPort());
                          conn.bind(socket, params);
                      }
                      BasicHttpRequest request = new BasicHttpRequest("GET", targets);
                      context.setAttribute(ExecutionContext.HTTP_CONNECTION, conn);
                      context.setAttribute(ExecutionContext.HTTP_TARGET_HOST, host);
                      context.setAttribute(ExecutionContext.HTTP_REQUEST, request);
                      context.setAttribute(ClientContext.COOKIE_STORE, loginCookieStore);
                      
                      // params.setParameter("Cookie", parseCookieToString());
                      // request.setParams(params);
                      // request.setHeader("Cookie", parseCookieToString());
                      httpexecutor.preProcess(request, httpproc, context);
                      HttpResponse response = httpexecutor.execute(request, conn, context);
                      response.setParams(params);
                      httpexecutor.postProcess(response, httpproc, context);
                      
                      // 返回的文件頭信息
                      Header[] hs = response.getAllHeaders();
                      for (Header h : hs) {
                          System.out.println(h.getName() + ":" + h.getValue());
                      }
                      // 輸出主體信息
                      System.out.println(EntityUtils.toString(response.getEntity()));
                      System.out.println("==============");
                      if (!connStrategy.keepAlive(response, context)) {
                          conn.close();
                      } else {
                          System.out.println("Connection kept alive...");
                      }
                  } catch (Exception e) {
                      
                  } finally {
                      try {
                          conn.close();
                      } catch (Exception e2) {
                          
                      }
                  }
                  return null;
              }
          posted on 2011-07-09 22:08 SIMONE 閱讀(982) 評論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 长宁区| 阿图什市| 富顺县| 德惠市| 万源市| 万盛区| 颍上县| 通化市| 威信县| 梓潼县| 湖北省| 望奎县| 岑溪市| 汉沽区| 安丘市| 宜宾县| 米泉市| 寿宁县| 望江县| 忻城县| 古蔺县| 镇远县| 仁布县| 华亭县| 长阳| 出国| 离岛区| 通州区| 孝义市| 安国市| 交城县| 鄂温| 波密县| 益阳市| 渑池县| 佳木斯市| 乌鲁木齐县| 乌拉特中旗| 左权县| 黄冈市| 三河市|