登录  /  注册
首页 > Java > java教程 > 正文
Java 模拟并发访问
巴扎黑
发布: 2016-12-20 13:35:37
原创
1022人浏览过

类:NetUtils.java

import java.io.DataInputStream;      
import java.io.DataOutputStream;          
import java.net.HttpURLConnection;      
import java.net.URL;          
import java.util.Map; 
import java.util.Properties;
public class NetUtils
{
public static final String CHARACTER_ENCODING = "UTF-8";      
  public static final String PATH_SIGN = "/";      
  public static final String METHOD_POST = "POST";      
  public static final String METHOD_GET = "GET";      
  public static final String CONTENT_TYPE = "Content-Type";      
   
  /**    
   * 以POST方式向指定地址发送数据包请求,并取得返回的数据包    
   *     
   * @param urlString    
   * @param requestData    
   * @return 返回数据包    
   * @throws Exception    
   */     
  public static byte[] requestPost(String urlString, byte[] requestData)      
          throws Exception
  {      
      Properties requestProperties = new Properties();      
      requestProperties.setProperty(CONTENT_TYPE,      
              "application/octet-stream; charset=utf-8");      
   
      return requestPost(urlString, requestData, requestProperties);      
  }      
  /**    
   * 以POST方式向指定地址发送数据包请求,并取得返回的数据包    
   *     
   * @param urlString    
   * @param requestData    
   * @param requestProperties    
   * @return 返回数据包    
   * @throws Exception    
   */     
  public static byte[] requestPost(String urlString, byte[] requestData,      
          Properties requestProperties) throws Exception
  {
      byte[] responseData = null;      
      HttpURLConnection con = null;      
   
      try {      
          URL url = new URL(urlString);      
          con = (HttpURLConnection) url.openConnection();      
          //设置请求属性
          if ((requestProperties != null) && (requestProperties.size() > 0))
          {      
              for (Map.Entry<Object, Object> entry : requestProperties.entrySet())
              {      
                  String key = String.valueOf(entry.getKey());      
                  String value = String.valueOf(entry.getValue());      
                  con.setRequestProperty(key, value);      
              }      
          }      
   
          con.setRequestMethod(METHOD_POST); // 置为POST方法      
   
          con.setDoInput(true); // 开启输入流      
          con.setDoOutput(true); // 开启输出流      
   
          // 如果请求数据不为空,输出该数据。      
          if (requestData != null)
          {      
              DataOutputStream dos = new DataOutputStream(con.getOutputStream());      
              dos.write(requestData);
              dos.flush();      
              dos.close();      
          }      
   
          int length = con.getContentLength();      
          // 如果回复消息长度不为-1,读取该消息。      
          if (length != -1)
          {      
              DataInputStream dis = new DataInputStream(con.getInputStream());      
              responseData = new byte[length];      
              dis.readFully(responseData);      
              dis.close();      
          }      
      }
      catch (Exception e)
      {      
          throw e;      
      }
      finally
      {      
          if (con != null)
          {      
              con.disconnect();      
              con = null;      
          }      
      }      
      return responseData;      
  }      
}
登录后复制


来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学