Java HttpURLConnection请求方式有哪些

  介绍

这篇文章主要介绍了Java HttpURLConnection请求方式有哪些,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

<强>一)URL代理请求,# 8203;

该方式请求有两种代理方式。

<强>方式一:使用该方式代理之后,之后的所有接口都会使用代理请求

//对http开启全局代理
  System.setProperty (“http.proxyHost",“192.168.1.1");
  System.setProperty (“http.proxyPort",“80“);//对https开启全局代理
  System.setProperty (“https.proxyHost",“192.168.1.1");
  System.setProperty (“https.proxyPort",“80“); 

<强>方式二:强适用于只有部分接口需要代理请求场景

代理代理=new代理(类型。HTTP、新的InetSocketAddress (“192.168.1.1", 80));
  HttpURLConnection康涅狄格州=零;
  尝试{
  网址URL=新的URL (“http://localhost: 8080/ouyangjun");
  康涅狄格州=(HttpURLConnection) url.openConnection(代理);
  }捕捉(MalformedURLException e) {
  e.printStackTrace ();
  }捕捉(IOException e) {
  e.printStackTrace ();
  }

<强>二)无参数得到请求

方法解析:

HttpGetUtils。proxyHost requestURL doGetNoParameters(字符串,字符串,整数proxyPort);

requestURL:请求路径,必填

proxyHost:代理IP,即服务器代理地址,可为空

proxyPort:代理端口,可为空

说明:一般本地测试几乎是不会用代理的,只有服务器用代理方式请求比较多。

实现源码:

包com.ouyangjun.wechat.utils;
  进口java.io.BufferedReader;
  进口java.io.IOException;
  进口java.io.InputStream;
  进口java.io.InputStreamReader;
  进口java.net.HttpURLConnection;
  进口java.net.InetSocketAddress;
  进口java.net.MalformedURLException;
  进口java.net.Proxy;
  进口java.net.Proxy.Type;
  进口java.net.URL;/* *
  * http请求工具类
  * @author ouyangjun
  */公开课HttpGetUtils {/* *
  * http get请求,不带参数
  * @param requestURL
  * @param方法
  * @return
  */proxyHost requestURL doGetNoParameters公共静态字符串(字符串,字符串,整数proxyPort) {//记录信息
  StringBuffer缓冲=new StringBuffer ();
  
  HttpURLConnection康涅狄格州=零;
  尝试{
  网址URL=new URL (requestURL);//判断是否需要代理模式请求http
  如果(proxyHost !=零,,proxyPort !=null) {//如果是本机自己测试,不需要代理请求,但发到服务器上的时候需要代理请求//对http开启全局代理//System.setProperty (“http.proxyHost", proxyHost);//System.setProperty (“http.proxyPort" proxyPort);//对https开启全局代理//System.setProperty (“https.proxyHost", proxyHost);//System.setProperty (“https.proxyPort" proxyPort);//代理访问http请求
  代理代理=new代理(类型。HTTP、新的InetSocketAddress (proxyHost proxyPort));
  康涅狄格州=(HttpURLConnection) url.openConnection(代理);
  其他}{//原生访问http请求,未代理请求
  康涅狄格州=(HttpURLConnection) url.openConnection ();
  }//设置请求的属性
  conn.setDoOutput(真正的);//是否可以输出
  conn.setRequestMethod (“GET");//请求方式,只包含“GET"“POST",“HEAD",“OPTIONS",“PUT",“DELETE",“TRACE"六种
  conn.setConnectTimeout (60000);//最高超时时间
  conn.setReadTimeout (60000);//最高读取时间
  conn.setConnectTimeout (60000);//最高连接时间//读取数据
  InputStream是=零;
  InputStreamReader inputReader=零;
  BufferedReader读者=零;
  尝试{
  是=conn.getInputStream ();
  inputReader=new InputStreamReader(是,“UTF-8");
  读者=new BufferedReader (inputReader);
  
  临时字符串;
  在((temp=reader.readLine ()) !=null) {
  buffer.append(临时);
  }
  }捕捉(异常e) {
  System.out.println (“HttpGetUtils doGetNoParameters错误:“+ e);
  最后}{
  尝试{
  如果(读者!=null) {
  reader.close ();
  }
  如果(inputReader !=null) {
  inputReader.close ();
  }
  如果(!=null) {
  is.close ();
  }
  }捕捉(IOException e) {
  System.out.println (“HttpGetUtils doGetNoParameters错误:“+ e);
  }
  }
  }捕捉(MalformedURLException e) {
  e.printStackTrace ();
  }捕捉(IOException e) {
  e.printStackTrace ();
  最后}{//当http连接空闲时,释放资源
  如果(康涅狄格州!=null) {
  conn.disconnect ();
  }
  }//返回信息
  返回buffer.length ()==0, # 63;““:buffer.toString ();
  }
  }

Java HttpURLConnection请求方式有哪些