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
          主站蜘蛛池模板: 郧西县| 额济纳旗| 武义县| 凤山市| 郓城县| 崇明县| 静安区| 类乌齐县| 安溪县| 航空| 临朐县| 文昌市| 天台县| 贺州市| 淳化县| 紫阳县| 略阳县| 鸡泽县| 克拉玛依市| 庄河市| 阳城县| 大庆市| 阜新市| 贵南县| 呼图壁县| 普洱| 泸溪县| 丹棱县| 济阳县| 房产| 湟中县| 西昌市| 金寨县| 同仁县| 长葛市| 鲁甸县| 南通市| 文登市| 香港 | 上林县| 开平市|