zoukankan      html  css  js  c++  java
  • 使用HttpClient获取网页源码

    需要的包:commons-codec-1.3.jar commons-httpclient-3.1.jar

    /**
         * 通过get方式取得html
         * @param url
         * @param timeout
         * @param charset
         * @return
         */
        public static String getHTMLByUrl(String url, int timeout, String charset){
            if (charset == null)
              charset = "utf-8";
            HttpMethod result = new GetMethod(url);
            return doHttp(result,timeout,charset);
        }
        
        /**
         * 通过post方式取得html
         * @param url
         * @param timeout
         * @param charset
         * @param params
         * @return
         */
        public static String getHTMLByUrl(String url, int timeout, String charset,Map<String,String> params){
            if (charset == null)
              charset = "utf-8";
            PostMethod result = new PostMethod(url);
            NameValuePair[] nameValues =new NameValuePair[params.size()];
            NameValuePair simcard;
            String[] keys=params.keySet().toArray(new String[params.size()]);
            String key;
            for(int i=0;i<keys.length;i++){
                  key=keys[i];
                  simcard = new NameValuePair(key,params.get(key));
                  nameValues[i]=simcard;
            }
            result.setRequestBody(nameValues);
            return doHttp(result,timeout,charset);
         }
         
         public static String doHttp(HttpMethod result,int timeout, String charset){
                HttpClient client = new HttpClient();
                try {
                      HttpConnectionManagerParams managerParams = client
                        .getHttpConnectionManager().getParams();
    
                      managerParams.setConnectionTimeout(timeout);
                      client.executeMethod(result);          
                      InputStream resStream = result.getResponseBodyAsStream();
                      BufferedReader br = new BufferedReader(new InputStreamReader(resStream, charset));
                      StringBuffer resBuffer = new StringBuffer();
                      String resTemp = "";
                      while ((resTemp = br.readLine()) != null) {
                        resBuffer.append(resTemp);
                      }
                      return resBuffer.toString();
                    }
                    catch (HttpException e)
                    {
                      return null;
                    }
                    catch (IOException e) {
                      return null;
                    }
                    catch (Exception e) {
                      return null;
                    } finally {
                      result.releaseConnection();
                    }
         }
  • 相关阅读:
    windows自带摘要工具
    黑客帝国中的黑猫是什么?
    安装EdXposed提示请先从magisk manager中安装riru
    magisk和xposed和frida的区别
    awvs激活成功但是扫描失败 License problem 40
    KALI LINUX 工具大全之信息收集数字取证 Xplico (解释)
    小米机型代号
    黑客帝国高告诉我们的世界观认清自己
    web漏洞扫描器
    burpsuite中注入器的必知攻击方式
  • 原文地址:https://www.cnblogs.com/zhanghaoh/p/2845467.html
Copyright © 2011-2022 走看看