zoukankan      html  css  js  c++  java
  • post 发送方式

    /**

       * post 方式 解码

       */

       public static String getWebContentByPost(String urlString, String data,

            final String charset, int timeout) throws IOException {

          if (urlString == null || urlString.length() == 0) {

            return null;

          }

          urlString = (urlString.startsWith("http://") || urlString.startsWith("https://")) ? urlString : ("http://" + urlString).intern();

          URL url = new URL(urlString);

          System.out.println("url=="+url);

          HttpURLConnection connection = (HttpURLConnection) url.openConnection();

          // 设置是否向connection输出,因为这个是post请求,参数要放在 http正文内,因此需要设为true

          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;charset="+charset+"");

          // 增加报头,模拟浏览器,防止屏蔽

          connection.setRequestProperty("User-Agent",

               "Mozilla/4.0 (compatible; MSIE 8.0; Windows vista)");

          // 只接受text/html类型,当然也可以接受图片,pdf,*/*任意

          connection.setRequestProperty("Accept", "*/*");// text/html

          connection.setConnectTimeout(timeout);

          connection.connect();

          DataOutputStream out = new DataOutputStream(connection

               .getOutputStream());

          byte[] content = data.getBytes(charset);// +URLEncoder.encode("中文 ",

          out.write(content);

          out.flush();

          out.close();

          try {

            // 必须写在发送数据的后面

            if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {

               return null;

            }

          } catch (IOException e) {

            e.printStackTrace();

            return null;

          }

          BufferedReader reader = new BufferedReader(new InputStreamReader(

               connection.getInputStream(), charset));

          String line;

          StringBuffer sb = new StringBuffer();

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

            sb.append(line).append(" ");

          }

          if (reader != null) {

            reader.close();

          }

          if (connection != null) {

            connection.disconnect();

          }

          System.out.println(sb.toString());

          return URLDecoder.decode(sb.toString(), "utf-8");

       }

    public static String getUndecodeByPost(String urlString, String data,

               final String charset, int timeout) throws IOException {

            if (urlString == null || urlString.length() == 0) {

               return null;

            }

            urlString = (urlString.startsWith("http://") || urlString.startsWith("https://")) ? urlString : ("http://" + urlString).intern();

            URL url = new URL(urlString);

            System.out.println("url=="+url);

            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            // 设置是否向connection输出,因为这个是post请求,参数要放在 http正文内,因此需要设为true

            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;charset="+charset+"");

            // 增加报头,模拟浏览器,防止屏蔽

            connection.setRequestProperty("User-Agent",

                  "Mozilla/4.0 (compatible; MSIE 8.0; Windows vista)");

            // 只接受text/html类型,当然也可以接受图片,pdf,*/*任意

            connection.setRequestProperty("Accept", "*/*");// text/html

            connection.setRequestProperty("Content-Length", "*/*");// text/html

           

            connection.setConnectTimeout(timeout);

            connection.connect();

            DataOutputStream out = new DataOutputStream(connection

                  .getOutputStream());

            byte[] content = data.getBytes(charset);// +URLEncoder.encode("中文 ",

            out.write(content);

            out.flush();

            out.close();

            try {

               // 必须写在发送数据的后面

               if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {

                  return null;

               }

            } catch (IOException e) {

               e.printStackTrace();

               return null;

            }

            BufferedReader reader = new BufferedReader(new InputStreamReader(

                  connection.getInputStream(), charset));

            String line;

            StringBuffer sb = new StringBuffer();

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

               sb.append(line).append(" ");

            }

            if (reader != null) {

               reader.close();

            }

            if (connection != null) {

               connection.disconnect();

            }

            return sb.toString();

          }

  • 相关阅读:
    java解决跨域
    时间格式化
    base64图片实现文件上传
    java对Base64图片的加密解密
    A5/web项目连接Oracle 12c数据库报:ORA-01017: 用户名/口令无效
    JavaScript中call如何使用?
    C# 如何让new 出来的form显示在最外层?
    因为数据库和客户端字符集不一样原因,导致显示乱码???????,解决办法
    日语键盘按键修正记录
    keybd_event 在F按键系列不起作用的解决办法
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10399272.html
Copyright © 2011-2022 走看看