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

您的位置:首頁技術文章
文章詳情頁

JAVA發送HTTP請求的四種方式總結

瀏覽:42日期: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(); //設置請求類型 con.setRequestMethod(requestType); //設置請求需要返回的數據類型和字符集類型 con.setRequestProperty('Content-Type', 'application/json;charset=GBK'); //允許寫出 con.setDoOutput(true); //允許讀入 con.setDoInput(true); //不使用緩存 con.setUseCaches(false); //得到響應碼 int responseCode = con.getResponseCode(); if(responseCode == HttpURLConnection.HTTP_OK){ //得到響應流 InputStream inputStream = con.getInputStream(); //將響應流轉換成字符串 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(); //設置請求需要返回的數據類型和字符集類型 con.setRequestProperty('Content-Type', 'application/json;charset=GBK'); //允許寫出 con.setDoOutput(true); //允許讀入 con.setDoInput(true); //不使用緩存 con.setUseCaches(false); //得到響應流 InputStream inputStream = con.getInputStream(); //將響應流轉換成字符串 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

使用方便,我個人偏愛這種方式,但依賴于第三方jar包,相關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 { // 創建httpClient實例對象 HttpClient httpClient = new HttpClient(); // 設置httpClient連接主機服務器超時時間:15000毫秒 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000); // 創建post請求方法實例對象 PostMethod postMethod = new PostMethod(urlParam); // 設置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 { // 創建httpClient實例對象 HttpClient httpClient = new HttpClient(); // 設置httpClient連接主機服務器超時時間:15000毫秒 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000); // 創建GET請求方法實例對象 GetMethod getMethod = new GetMethod(urlParam); // 設置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協議 */ // socket = new Socket(this.host, this.port); /** * https協議 */ 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協議測試 */ //SocketForHttpTest forHttpTest = new SocketForHttpTest('www.baidu.com', 80); /** * https協議測試 */ SocketForHttpTest forHttpTest = new SocketForHttpTest('www.baidu.com', 443); try { forHttpTest.sendGet(); // forHttpTest.sendPost(); } catch (IOException e) { e.printStackTrace(); } } } 總結

到此這篇關于JAVA發送HTTP請求的文章就介紹到這了,更多相關JAVA發送HTTP請求內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品久久久久久久久妇女| 国产精品成久久久久| 欧美亚洲色图校园春色| 一区二区三区视频免费观看 | 国模大尺度视频一区二区| 国产一区成人| 日韩国产在线| 精品国产乱码久久久久久樱花| 国产精品一区二区av日韩在线| 国产农村妇女精品一区二区| 久久久久久自在自线| 国产精品中文| 日韩av一区二区在线影视| 欧美精品高清| 99久久99久久精品国产片果冰| 久久精品二区三区| 日韩精品永久网址| 日本激情一区| 日本精品一区二区三区在线观看视频 | 日韩精品高清不卡| 国产精品久一| 日韩区一区二| 日韩视频1区| 亚洲三级毛片| 亚洲一区二区免费在线观看| 国产精品专区免费| 神马午夜久久| 日韩成人高清| 群体交乱之放荡娇妻一区二区| а√天堂中文在线资源8| 色婷婷综合网| 日本精品不卡| 成人黄色av| 亚洲啊v在线| 亚洲www免费| 波多视频一区| 欧美精品一卡| 国产精品激情电影| 国产成人精品亚洲线观看| 蜜桃精品在线| 性色一区二区| 免费在线日韩av| 99久久亚洲精品蜜臀| 一区二区亚洲视频| 久久中文字幕二区| 日韩在线观看中文字幕| 久久视频精品| 久久要要av| 电影91久久久| 亚洲欧美高清| 国产乱码精品一区二区三区四区| 国产一区二区三区成人欧美日韩在线观看| 久久精品动漫| 日韩一级欧洲| 国产欧美日韩精品一区二区三区| 欧美一级网址| 亚洲欧美一区在线| 亚洲精品一区二区妖精| 中文字幕视频精品一区二区三区| 国产日韩欧美| 精品日韩视频| 狠狠久久婷婷| 一区二区精彩视频| 久久精品99国产精品| 精品一区视频| 亚洲欧美日韩在线观看a三区| 国产精品v一区二区三区| 久久精品主播| 国产精品主播在线观看| 婷婷成人基地| 国产成人精品一区二区三区免费| 在线观看视频免费一区二区三区| 成人国产精品| 九九99久久精品在免费线bt| 午夜国产欧美理论在线播放| 久久精品三级| 亚洲一区有码| 欧美aa一级| 91欧美极品| 欧美日韩国产一区精品一区| 精品国产亚洲日本| 日韩欧美久久| 欧美福利专区| 成人国产精品| 国产亚洲字幕| 蜜芽一区二区三区| 久久婷婷亚洲| 日本黄色精品| 国产剧情在线观看一区| 美国三级日本三级久久99| 免费福利视频一区二区三区| 国产精品久久久久久久久免费高清| 欧美日韩一区二区综合| 国模大尺度视频一区二区| 亚洲一区免费| 首页国产精品| 亚洲主播在线| 国产美女一区| 老司机精品久久| 日韩网站中文字幕| 奇米亚洲欧美| 国产一区二区精品福利地址| 精品一区二区三区中文字幕视频| 久久狠狠久久| 91精品国产成人观看| 欧美在线网站| 成人va天堂| 福利一区在线| 国产一区91| 精品午夜av| 亚洲欧洲美洲国产香蕉| 岛国精品一区| 亚洲精品日本| 国产一区日韩欧美| 日韩和欧美的一区| 日韩精品91| 欧美亚洲tv| 国产一区二区三区四区五区传媒| 日韩欧美二区| 日韩精品欧美大片| 亚洲播播91| 久久免费福利| 六月婷婷一区| 日韩av福利| 欧美激情三区| 亚洲成人不卡| 国产精品宾馆| 久久av网站| 久久国产乱子精品免费女| 国产精品美女久久久浪潮软件| 精品久久久中文字幕| 久久国产麻豆精品| 国产亚洲精品美女久久| 欧美日韩在线播放视频| 精品欧美视频| 国产午夜精品一区在线观看| 日韩精彩视频在线观看| 亚洲黄页一区| 黄色成人91| 亚洲韩日在线| 欧美91视频| 国产成人精品一区二区免费看京| 丝袜美腿成人在线| 99国产精品| 日韩专区在线视频| 视频在线观看91| 亚洲色图国产| 国产美女久久| 九九久久国产| 黄毛片在线观看| 综合日韩av| 国产高清视频一区二区| 国产精品欧美三级在线观看| 精品视频在线观看网站| 日韩不卡在线| 亚洲欧美不卡| 亚洲精品视频一二三区| 国产日韩一区二区三区在线| 亚洲精品福利| 国产亚洲精品美女久久久久久久久久| 国产伦一区二区三区| 成人污污视频| 亚洲伊人影院| 国产乱子精品一区二区在线观看 | 91精品观看| 亚洲人成亚洲精品| 国产精品videossex久久发布| 久久视频一区| 91欧美日韩在线| 久久亚洲国产| 亚洲欧美专区| 国产精品久久观看| 免费观看在线综合| 日本不良网站在线观看| 亚洲精品日本| 高清不卡亚洲| 日本在线成人| 91精品国产乱码久久久久久久| 日韩一二三区在线观看| 久久久久久网| 18国产精品| 日韩不卡一区| 日韩精品久久理论片| 日韩不卡一区| 青青青免费在线视频| 欧美综合另类| 久久免费精品| 青青草国产精品亚洲专区无| 黄色不卡一区| 色天使综合视频| 国产精品白丝久久av网站| 黄页网站一区| 欧美一区二区三区激情视频| 97精品久久| 日韩中文欧美在线| 三上悠亚国产精品一区二区三区| 四虎精品一区二区免费| 蜜桃视频一区二区| 香蕉久久久久久久av网站| 天堂中文av在线资源库|