日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

JAVA發(fā)送HTTP請求的四種方式總結(jié)

瀏覽:37日期:2022-08-15 16:40:10

源代碼:http://github.com/lovewenyo/HttpDemo

1. HttpURLConnection

使用JDK原生提供的net,無需其他jar包;

HttpURLConnection是URLConnection的子類,提供更多的方法,使用更方便。

package httpURLConnection;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;public class HttpURLConnectionHelper { public static String sendRequest(String urlParam,String requestType) { HttpURLConnection con = null; BufferedReader buffer = null; StringBuffer resultBuffer = null; try { URL url = new URL(urlParam); //得到連接對象 con = (HttpURLConnection) url.openConnection(); //設(shè)置請求類型 con.setRequestMethod(requestType); //設(shè)置請求需要返回的數(shù)據(jù)類型和字符集類型 con.setRequestProperty('Content-Type', 'application/json;charset=GBK'); //允許寫出 con.setDoOutput(true); //允許讀入 con.setDoInput(true); //不使用緩存 con.setUseCaches(false); //得到響應(yīng)碼 int responseCode = con.getResponseCode(); if(responseCode == HttpURLConnection.HTTP_OK){ //得到響應(yīng)流 InputStream inputStream = con.getInputStream(); //將響應(yīng)流轉(zhuǎn)換成字符串 resultBuffer = new StringBuffer(); String line; buffer = new BufferedReader(new InputStreamReader(inputStream, 'GBK')); while ((line = buffer.readLine()) != null) { resultBuffer.append(line); } return resultBuffer.toString(); } }catch(Exception e) { e.printStackTrace(); } return ''; } public static void main(String[] args) { String url ='http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=120.79.75.96'; System.out.println(sendRequest(url,'POST')); }}2. URLConnection

使用JDK原生提供的net,無需其他jar包;

建議使用HttpURLConnection

package uRLConnection;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;public class URLConnectionHelper { public static String sendRequest(String urlParam) { URLConnection con = null; BufferedReader buffer = null; StringBuffer resultBuffer = null; try { URL url = new URL(urlParam); con = url.openConnection(); //設(shè)置請求需要返回的數(shù)據(jù)類型和字符集類型 con.setRequestProperty('Content-Type', 'application/json;charset=GBK'); //允許寫出 con.setDoOutput(true); //允許讀入 con.setDoInput(true); //不使用緩存 con.setUseCaches(false); //得到響應(yīng)流 InputStream inputStream = con.getInputStream(); //將響應(yīng)流轉(zhuǎn)換成字符串 resultBuffer = new StringBuffer(); String line; buffer = new BufferedReader(new InputStreamReader(inputStream, 'GBK')); while ((line = buffer.readLine()) != null) { resultBuffer.append(line); } return resultBuffer.toString(); }catch(Exception e) { e.printStackTrace(); } return ''; } public static void main(String[] args) { String url ='http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=120.79.75.96'; System.out.println(sendRequest(url)); }}3. HttpClient

使用方便,我個人偏愛這種方式,但依賴于第三方j(luò)ar包,相關(guān)maven依賴如下:

<!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient --><dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version></dependency

package httpClient;import java.io.IOException;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.methods.PostMethod;import org.apache.commons.httpclient.params.HttpMethodParams;public class HttpClientHelper { public static String sendPost(String urlParam) throws HttpException, IOException { // 創(chuàng)建httpClient實例對象 HttpClient httpClient = new HttpClient(); // 設(shè)置httpClient連接主機服務(wù)器超時時間:15000毫秒 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000); // 創(chuàng)建post請求方法實例對象 PostMethod postMethod = new PostMethod(urlParam); // 設(shè)置post請求超時時間 postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000); postMethod.addRequestHeader('Content-Type', 'application/json'); httpClient.executeMethod(postMethod); String result = postMethod.getResponseBodyAsString(); postMethod.releaseConnection(); return result; } public static String sendGet(String urlParam) throws HttpException, IOException { // 創(chuàng)建httpClient實例對象 HttpClient httpClient = new HttpClient(); // 設(shè)置httpClient連接主機服務(wù)器超時時間:15000毫秒 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000); // 創(chuàng)建GET請求方法實例對象 GetMethod getMethod = new GetMethod(urlParam); // 設(shè)置post請求超時時間 getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000); getMethod.addRequestHeader('Content-Type', 'application/json'); httpClient.executeMethod(getMethod); String result = getMethod.getResponseBodyAsString(); getMethod.releaseConnection(); return result; } public static void main(String[] args) throws HttpException, IOException { String url ='http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=120.79.75.96'; System.out.println(sendPost(url)); System.out.println(sendGet(url)); }}4. Socket

使用JDK原生提供的net,無需其他jar包;

使用起來有點麻煩。

package socket;import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.Socket; import java.net.URLEncoder; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; public class SocketForHttpTest { private int port; private String host; private Socket socket; private BufferedReader bufferedReader; private BufferedWriter bufferedWriter; public SocketForHttpTest(String host,int port) throws Exception{ this.host = host; this.port = port; /** * http協(xié)議 */ // socket = new Socket(this.host, this.port); /** * https協(xié)議 */ socket = (SSLSocket)((SSLSocketFactory)SSLSocketFactory.getDefault()).createSocket(this.host, this.port); } public void sendGet() throws IOException{ //String requestUrlPath = '/z69183787/article/details/17580325'; String requestUrlPath = '/'; OutputStreamWriter streamWriter = new OutputStreamWriter(socket.getOutputStream()); bufferedWriter = new BufferedWriter(streamWriter); bufferedWriter.write('GET ' + requestUrlPath + ' HTTP/1.1rn'); bufferedWriter.write('Host: ' + this.host + 'rn'); bufferedWriter.write('rn'); bufferedWriter.flush(); BufferedInputStream streamReader = new BufferedInputStream(socket.getInputStream()); bufferedReader = new BufferedReader(new InputStreamReader(streamReader, 'utf-8')); String line = null; while((line = bufferedReader.readLine())!= null){ System.out.println(line); } bufferedReader.close(); bufferedWriter.close(); socket.close(); } public void sendPost() throws IOException{ String path = '/'; String data = URLEncoder.encode('name', 'utf-8') + '=' + URLEncoder.encode('張三', 'utf-8') + '&' + URLEncoder.encode('age', 'utf-8') + '=' + URLEncoder.encode('32', 'utf-8'); // String data = 'name=zhigang_jia'; System.out.println('>>>>>>>>>>>>>>>>>>>>>'+data); OutputStreamWriter streamWriter = new OutputStreamWriter(socket.getOutputStream(), 'utf-8'); bufferedWriter = new BufferedWriter(streamWriter);bufferedWriter.write('POST ' + path + ' HTTP/1.1rn'); bufferedWriter.write('Host: ' + this.host + 'rn'); bufferedWriter.write('Content-Length: ' + data.length() + 'rn'); bufferedWriter.write('Content-Type: application/x-www-form-urlencodedrn'); bufferedWriter.write('rn'); bufferedWriter.write(data); bufferedWriter.write('rn'); bufferedWriter.flush(); BufferedInputStream streamReader = new BufferedInputStream(socket.getInputStream()); bufferedReader = new BufferedReader(new InputStreamReader(streamReader, 'utf-8')); String line = null; while((line = bufferedReader.readLine())!= null) { System.out.println(line); } bufferedReader.close(); bufferedWriter.close(); socket.close(); } public static void main(String[] args) throws Exception { /** * http協(xié)議測試 */ //SocketForHttpTest forHttpTest = new SocketForHttpTest('www.baidu.com', 80); /** * https協(xié)議測試 */ SocketForHttpTest forHttpTest = new SocketForHttpTest('www.baidu.com', 443); try { forHttpTest.sendGet(); // forHttpTest.sendPost(); } catch (IOException e) { e.printStackTrace(); } } } 總結(jié)

到此這篇關(guān)于JAVA發(fā)送HTTP請求的文章就介紹到這了,更多相關(guān)JAVA發(fā)送HTTP請求內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美一级全黄| 尤物网精品视频| 国产亚洲在线观看| 亚洲综合不卡| 日本综合精品一区| 日本午夜免费一区二区| 视频一区二区中文字幕| 人人爽香蕉精品| 欧美精品影院| 色爱av综合网| 亚洲色图综合| 麻豆国产欧美日韩综合精品二区| 日本在线不卡视频| 久久a爱视频| 亚洲资源网站| 成人午夜精品| 99re国产精品| 欧美日韩精品免费观看视频完整| 99成人在线| 国产精品一区二区免费福利视频 | 精品久久一区| 国产精品久久久久久久免费软件| 精品视频一二| 视频在线观看一区二区三区| 久久精品72免费观看| 久久久亚洲一区| 亚洲另类av| 精品91福利视频| 亚洲色诱最新| 日韩深夜视频| 国产剧情在线观看一区| 日韩高清中文字幕一区二区| 亚洲精品伊人| 久久黄色影院| 久久婷婷一区| 国产精品一在线观看| 国产精品美女久久久| 久久精品亚洲| 99精品综合| 国产精品久久久久久妇女| 日韩精品2区| 亚洲精品伊人| 欧美日韩高清| 黄页网站一区| 久久精品国产68国产精品亚洲| 日本99精品| 91久久中文| 最新亚洲一区| 免费黄色成人| 中文一区一区三区高中清不卡免费| 亚洲在线成人| 黄色在线网站噜噜噜| 日韩美女精品| 97久久中文字幕| 日韩专区欧美专区| 老色鬼久久亚洲一区二区| 另类小说一区二区三区| 免费在线观看视频一区| 不卡av一区二区| 国产一区一一区高清不卡| 日日夜夜免费精品视频| 亚洲精品视频一二三区| 久久黄色影视| 日韩欧美中文字幕电影| 日韩福利在线观看| 国产日韩欧美一区二区三区 | 亚洲久久视频| 欧美日韩精品免费观看视频完整| 激情久久久久久久| 99久久精品国产亚洲精品| 日韩欧美三级| 视频一区免费在线观看| 青青在线精品| 国产欧美日韩在线观看视频| 国产精品免费精品自在线观看| 三上亚洲一区二区| 亚洲一级高清| 青青伊人久久| 美女网站视频一区| 一区二区三区四区在线看| 久久久久99| 日韩视频不卡| 91综合久久爱com| 欧美gv在线| 国产一区日韩一区| 免费人成黄页网站在线一区二区 | 亚洲精品一级| 免费视频一区二区三区在线观看| 日韩国产综合| 午夜一级在线看亚洲| 国产一卡不卡| 午夜欧美理论片| 国产日本亚洲| 色天使综合视频| 亚洲69av| 久久久久久一区二区| 伊人久久亚洲热| 国产精品115| 在线日韩电影| 日韩三级精品| 精品国产一区二区三区2021| 女主播福利一区| 国产精品亚洲人成在99www| 国产在线日韩| 精品一区视频| 久久国产精品色av免费看| japanese国产精品| 国产亚洲一卡2卡3卡4卡新区| 黄色在线网站噜噜噜| 乱人伦精品视频在线观看| 国产精品丝袜在线播放| 欧美综合国产| 亚洲va中文在线播放免费| 日本精品一区二区三区在线观看视频 | 亚洲国产专区校园欧美| 美女久久精品| 日韩专区一卡二卡| 国产一区导航| 香蕉成人av| 国产精东传媒成人av电影| 久久国产精品久久久久久电车| 日韩高清不卡一区| 亚洲成人精品| 999久久久国产精品| 午夜影院一区| 久久久人人人| 日本高清不卡一区二区三区视频| 精品国产亚洲一区二区三区| 国产精品啊v在线| 国产精品magnet| 久久精品99国产精品| 91国内精品| 亚洲一级淫片| 青草av.久久免费一区| 国产精品主播| 久草免费在线视频| 激情亚洲影院在线观看| 精品中文在线| 日韩av免费大片| 日韩av自拍| 99久久激情| 亚洲综合图色| 免费不卡在线视频| 婷婷综合国产| 亚洲91网站| 欧美日韩调教| 国产成人77亚洲精品www| 久久国产成人午夜av影院宅| 少妇久久久久| 亚洲三级网址| 国产精品一区二区免费福利视频| 日韩欧美在线精品| 日本三级亚洲精品| 久久99蜜桃| 久久理论电影| 亚洲天堂免费| 美女性感视频久久| 欧美日韩水蜜桃| 一区在线视频观看| 国产日韩欧美三区| 婷婷精品视频| 欧美天堂一区| 在线看片福利| 蜜臀久久久99精品久久久久久| 亚洲免费观看高清完整版在线观| 国产精品17p| 激情欧美亚洲| 国产午夜久久av| 国产视频一区在线观看一区免费| 国产精品免费不| 亚洲综合不卡| 福利欧美精品在线| 喷白浆一区二区| 国产中文字幕一区二区三区| 欧美粗暴jizz性欧美20| 日韩精品福利一区二区三区| 成人在线免费观看91| 中文无码久久精品| 超碰在线99| 青青青国产精品| 国产视频欧美| 精品国产精品国产偷麻豆| 久久久久久久久99精品大| 久久精品国产精品亚洲毛片| 免费一级片91| 国产精品久久观看| 亚洲精品乱码| 日韩精品一区第一页| 欧美sm一区| 精品久久影院| 日韩av不卡一区二区| 综合一区av| 久久久久一区| 欧美午夜不卡影院在线观看完整版免费| 国产精久久久| 日韩在线麻豆| 综合激情在线| 99国产精品久久久久久久成人热| 日韩av首页| 日韩视频一区|