介绍
这篇文章主要介绍了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请求方式有哪些