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

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

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

瀏覽:38日期: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一区二区在线免费观看 | 久久高清一区| 亚洲香蕉久久| 国产探花一区二区| 久久精品系列| 午夜久久中文| 日韩在线观看不卡| 狠狠色综合网| 少妇精品久久久一区二区| 日韩精品免费一区二区夜夜嗨| 欧美日韩一区二区国产| 风间由美中文字幕在线看视频国产欧美| 首页国产精品| 女人天堂亚洲aⅴ在线观看| 日韩精品一级二级| 国产探花一区在线观看| 亚洲欧洲美洲av| 9久re热视频在线精品| 天堂va在线高清一区| 国产精品多人| 91看片一区| 欧美日韩国产免费观看| 免费的成人av| 欧美aa在线视频| 亚洲精品国产嫩草在线观看| 亚洲欧美日韩在线观看a三区 | 伊人久久国产| 欧美日韩国产在线一区| 日韩精品第一| 97精品一区二区| 亚洲中午字幕| 久久一区亚洲| 久久亚洲国产精品一区二区| 久久不见久久见中文字幕免费| 日韩欧美午夜| 日韩中文字幕视频网| 成人一区不卡| 视频在线观看一区二区三区| 久久99蜜桃| 9色国产精品| 久久精品女人| 综合激情网...| 91一区二区三区四区| 亚洲最大av| 九九色在线视频| 91成人在线| 国产国产精品| 久久精品国产亚洲一区二区三区| 国产亚洲毛片在线| 国产精品激情| 免费日韩精品中文字幕视频在线| 免费日韩一区二区三区| 欧美综合二区| 肉色欧美久久久久久久免费看| 中文字幕日本一区二区| 亚洲精品永久免费视频| 日韩av中文字幕一区二区三区| 久久五月天小说| 欧美激情网址| 亚洲精选91| 99精品视频在线| 久久婷婷国产| 日本中文字幕视频一区| 欧美精品一区二区久久| 国产精成人品2018| 午夜久久av| 欧美特黄一区| 91中文字幕精品永久在线| 日韩精品免费观看视频| 激情综合自拍| 色一区二区三区四区| 欧美伊人影院| 久热综合在线亚洲精品| 欧美午夜精彩| 亚洲黄色中文字幕| 免费视频一区二区三区在线观看| 中文字幕一区二区三区日韩精品 | 国产欧美日韩一级| 视频一区在线视频| 激情婷婷亚洲| av中文字幕在线观看第一页| 欧美日韩一区二区三区四区在线观看 | 国产精品欧美大片| 免费视频一区二区| 亚洲二区三区不卡| 精品欧美一区二区三区在线观看| 国产精品tv| 91精品国产自产精品男人的天堂| 美女网站久久| 99riav1国产精品视频| 久久精品国产99久久| 国产白浆在线免费观看| 国产一区二区三区四区| 国产精品久久久一区二区| 日本成人在线不卡视频| 在线亚洲成人| 91九色精品国产一区二区| 女生影院久久| 国产精品原创| 国产专区精品| 久久91视频| 国产精品男女| 亚洲精品高潮| 亚洲精品动态| 亚洲精品自拍| 婷婷精品在线| 亚洲精品进入| 日韩精品导航| 国产精品一页| 国产精品一区二区精品| 国产亚洲电影| 欧美日韩1区2区3区| 国产日产精品_国产精品毛片| 国产精品自在| 乱一区二区av| 国产aa精品| 色婷婷色综合| 99精品视频在线| 91精品二区| 亚洲免费婷婷| 四虎成人精品一区二区免费网站| 伊人久久亚洲| 日韩在线网址| 国产丝袜一区| 精品国内亚洲2022精品成人| 成人亚洲一区| 国产一在线精品一区在线观看| 99视频精品全国免费| 欧美成人亚洲| 影院欧美亚洲| 视频国产精品| 日本成人在线不卡视频| 国产伦理一区| 黑人精品一区| 欧美日韩视频一区二区三区| 中文视频一区| 欧美精品国产白浆久久久久| 国产精品主播在线观看| 国产一区二区三区黄网站| 神马久久午夜| 亚洲精品97| 97久久亚洲| 国产激情久久| 不卡专区在线| 成人av二区| 久久精品99国产国产精| 国产精品一卡| 国产精品777777在线播放| 日韩在线中文| 亚洲一二av| 久久亚洲黄色| 欧美日韩国产传媒| 日韩1区2区3区| 成午夜精品一区二区三区软件| 91成人精品视频| 国产亚洲人成a在线v网站| 日本在线精品| 日韩欧美美女在线观看| 国产精品亲子伦av一区二区三区| 日韩欧美不卡| 日韩精品视频网站| 日韩综合一区| 蜜桃久久久久久| 国产不卡av一区二区| 国产亚洲毛片| 麻豆精品在线| 亚洲免费网址| 久久久久久自在自线| 免费人成黄页网站在线一区二区| 美腿丝袜亚洲一区| 日韩视频在线一区二区三区| 国产精品xxxav免费视频| 婷婷精品进入| 麻豆一区二区三区| 亚洲欧美视频| 麻豆国产在线| 一区二区电影| 亚洲日本网址| 国产日韩欧美一区二区三区在线观看| 91精品综合| 国产精品第一| 日韩精品一二三| av日韩中文| 日韩欧美在线精品| 久久国产电影| 精品日产乱码久久久久久仙踪林| 久久国产精品久久久久久电车| 精品国产三区在线| 综合一区二区三区| 久久人人精品| 精品午夜视频| 亚洲精选久久|