Java:后台发送请求,请求方式(post/get)工具类:

package com.ajun.utils;

import java.io.BufferedReader;

import java.io.DataOutputStream;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

import java.util.regex.Pattern;

/**

 * Http操作辅助工具

 * @author ajun

 *

 */

public class HttpTool {

    /**

     * GET请求数据

     * @param get_url url地址

     * @param content  key=value形式

     * @return 返回结果

     * @throws Exception

     */

    public String sendGetData(String get_url, String content) throws Exception {

        String result = "";

        URL getUrl = null;

        BufferedReader reader = null;

        String lines = "";

        HttpURLConnection connection = null;

        try {

            if (content != null && !content.equals(""))

                get_url = get_url + "?" + content;

                //get_url = get_url + "?" + URLEncoder.encode(content, "utf-8");

            getUrl = new URL(get_url);

            connection = (HttpURLConnection) getUrl.openConnection();

            connection.connect();

            // 取得输入流,并使用Reader读取

            reader = new BufferedReader(new InputStreamReader(connection

                    .getInputStream(), "utf-8"));// 设置编码

            while ((lines = reader.readLine()) != null) {

                result = result + lines;

            }

            return result;

        catch (Exception e) {

            throw e;

        finally {

            if (reader != null) {

                reader.close();

                reader = null;

            }

            connection.disconnect();

        }

    }

    /**

     * @param POST_URL url地址

     * @param content  key=value形式

     * @return 返回结果

     * @throws Exception

     */

    public String sendPostData(String POST_URL, String content)

            throws Exception {

        HttpURLConnection connection=null;

        DataOutputStream out=null;

        BufferedReader reader=null;

        String line = "";

        String result="";

        try {

            URL postUrl = new URL(POST_URL);

            connection= (HttpURLConnection) postUrl.openConnection();

            connection.setDoOutput(true);

            connection.setDoInput(true);

            connection.setRequestMethod("POST");

            // Post 请求不能使用缓存

            connection.setUseCaches(false);

            connection.setInstanceFollowRedirects(true);

            connection.setRequestProperty("Content-Type",

                    "application/x-www-form-urlencoded");

            connection.connect();

             

            out = new DataOutputStream(connection.getOutputStream());

            //content = URLEncoder.encode(content, "utf-8");

            // DataOutputStream.writeBytes将字符串中的16位的unicode字符�?8位的字符形式写道流里�?

            out.writeBytes(content);

            out.flush();

            out.close();

            //获取结果

            reader = new BufferedReader(new InputStreamReader(

                    connection.getInputStream(), "utf-8"));// 设置编码

            while ((line = reader.readLine()) != null) {

                result=result+line;

            }       

            return result;

        catch (Exception e) {

            throw e;

        }finally

        {

            if(out!=null)

            {

                out.close();

                out=null;               

            }

            if(reader!=null)

            {

                reader.close();

                reader=null;               

            }

            connection.disconnect();

        }

    }

    /*

     * 过滤掉html里不安全的标签,不允许用户输入这些标�?

     */

    public static String htmlFilter(String inputString) {

        //return inputString;

          String htmlStr = inputString; // 含html标签的字符串

          String textStr = "";

          java.util.regex.Pattern p_script;

          java.util.regex.Matcher m_script;

              

         

          try {

           String regEx_script = "<[\\s]*?(script|style)[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?(script|style)[\\s]*?>"

           String regEx_onevent="on[^\\s]+=\\s*";

           String regEx_hrefjs="href=javascript:";

           String regEx_iframe="<[\\s]*?(iframe|frameset)[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?(iframe|frameset)[\\s]*?>";

           String regEx_link="<[\\s]*?link[^>]*?/>";

           

           htmlStr = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE).matcher(htmlStr).replaceAll(""); 

           htmlStr=Pattern.compile(regEx_onevent, Pattern.CASE_INSENSITIVE).matcher(htmlStr).replaceAll("");

           htmlStr=Pattern.compile(regEx_hrefjs, Pattern.CASE_INSENSITIVE).matcher(htmlStr).replaceAll("");

           htmlStr=Pattern.compile(regEx_iframe, Pattern.CASE_INSENSITIVE).matcher(htmlStr).replaceAll("");

           htmlStr=Pattern.compile(regEx_link, Pattern.CASE_INSENSITIVE).matcher(htmlStr).replaceAll("");

           

           //p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);

          // m_html = p_html.matcher(htmlStr);

          // htmlStr = m_html.replaceAll(""); // 过滤html标签

           textStr = htmlStr;

          catch (Exception e) {

           System.err.println("Html2Text: " + e.getMessage());

          }

          return textStr;

        }

}

猜你喜欢

转载自blog.csdn.net/inflaRunAs/article/details/86571873