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();

          }

  • 相关阅读:
    Silverlight 学习笔记(二)silverligth 界面布局
    (C#)WinForm窗体间传值
    软件开发所需要的十三个文档
    XP下安装SQL2000企业版本(转载)
    .net 框架下快速Web开发(一)——纠结的里程
    .net MVC 框架调试过程中,产生大量的临时文件
    认识NHitenate
    如何循序渐进向.Net架构师发展[转载]
    核桃煲鸡汤
    .NET获取客户端信息 (C#)
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10399272.html
Copyright © 2011-2022 走看看