1. 程式人生 > >從get請求的URL獲取返回流

從get請求的URL獲取返回流

public InputStream getFileStream(String uri){
    BufferedInputStream bin = null;
    ByteArrayOutputStream out = null;
    ByteArrayInputStream inputStream = null;
    try {
        out = new ByteArrayOutputStream();
        URL url = new URL(uri);
        HttpURLConnection c = (HttpURLConnection) url.openConnection();
        c.setRequestMethod("GET"
); c.setRequestProperty("Charset", "UTF-8"); bin = new BufferedInputStream(c.getInputStream()); int size = 0; int len = 0; byte[] buf = new byte[1024]; while ((size = bin.read(buf)) != -1) { len += size; out.write(buf, 0, size); } inputStream = new
ByteArrayInputStream(out.toByteArray()); }catch (Exception e){ logger.error("[Error] get file failed!"); }finally { if( bin!= null){ try{ bin.close(); }catch (IOException e){ logger.error("close stream error!"); } } if
( out != null){ try{ bin.close(); }catch (IOException e){ logger.error("close stream error!"); } } if( inputStream != null){ try{ bin.close(); }catch (IOException e){ logger.error("close stream error!"); } } } return inputStream; }
  特別提示,httpURLConnection類引的是sun公司的包,不要錯引為apache的,引了apache的不會報錯,但是拿不到返回流!切記切記!

相關推薦

get請求URL獲取返回

public InputStream getFileStream(String uri){ BufferedInputStream bin = null; ByteArrayOutpu

C#通過Url請求路徑獲取返回的json資料

/// <summary> /// 載入Http請求 /// </summary> /// <param name="Url"></param> /// <returns>

前端請求獲取cookie資訊,呼叫url獲取使用者的相關資訊,判斷使用者合法性

有時會經常遇到對介面包裝一層,先要對使用者進行認證,呼叫該介面的使用者是否合法,下面我對用到檢查cookie資訊的方法進行下梳理 public class CheckCookie { //獲取請求中的cookie資訊 public static String

Http get請求url中的參數和post請求中的body數據存放在哪裏了?後臺怎麽獲取?getParameter()作用最本質解釋。

類別 系統 param 官方 post tom header() 說明 string 轉載:https://blog.csdn.net/ZYK1746914945/article/details/85100575 相信很多人都和我有一樣的困惑,ServletRequ

.net WebService的restful api介面以POST方式請求獲取返回

最有效的: post位置 private void LoginTest()         {             string resultState = string.Empty;             try             {        

java後臺發送請求獲取返回

otto wid eight quest 所有 ica 輸出流 lds thead 項目中需要前端發送請求給後端,而後端需要從另一個平臺中取數據然後再透傳給前端,通過下述代碼將其實現.在此記錄一下.package com.autotest.utils;import java

HTTP GET請求URL設定和互動

GET請求要傳遞的引數都在URL裡,不在請求體中 如有以下URL: xxxx/login?username=52318&code=8888 格式是:/請求名?引數1=值1&引數2=值2 那麼後臺的URL擷取配置為login請求名即可 註解

使用AJAX傳送POST/GET請求並處理返回的結果集

 1.AJAX格式 $.ajax({ //請求方式post /get type:'post', //請求地址 url:'${ctx}/business/userActivateOrder/getOrders', //請求資料型別 dataType:'js

介面測試get請求url拼接函式(python)

get請求地址一般是 協議+域名+埠+路徑+引數,除了協議和域名其他均可為空。      http(s)://domain:port/path?key1=value1&key2=value2&... 拼接函式:協議預設http,domain必輸項,port預設空,pat

解決get請求url中文亂碼

來自頁面的一個get請求: window.location.href = getContextPath()+"/manage/user/detail?name="+encodeURI(encodeURI("小明")); 伺服器端: String name = reque

Java 網頁指定url獲取圖片並壓縮到本地

執行平臺: windows10 JDK版本: 1.8 IDE: eclipse 一. 知識儲備 Java IO流 :   推薦部落格: Java IO詳解   本文用到的IO方法: DataInputStream; BufferedInputStream; FileO

Java 網頁指定URL獲取檔案

這個問題我也搜過,但是搜到的程式碼都沒有什麼註釋,不方便理解; 或者就是自己對IO流的理解不深,註解也不太好看懂. 於是我在查閱了一些博主關於IO流的描述後,自己寫了一個只用一層的IO流完成從網頁指定URL獲取檔案的操作,並添加了註釋,方便理解. 不過最簡單,也就意味著低效,未優化

使用JavaScript的XMLHttpRequest傳送POST、GET請求以及接收返回

使用XMLHttpRequest物件分為4部分完成: 1.建立XMLHttpRequest組建。 2.設定回撥函式。 3.初始化XMLHttpRequest組建。 4.傳送請求。 var userName; var passWord; var x

java後臺解決get請求url中文引數亂碼

解決的程式碼如下 String keyword = request.getParameter("keyword"); keyword = new String(keyword.getBytes("iso-8859-1"), "utf-8"); get請求提交的引數是在位址列

Java模擬httpGet請求獲取返回的資料

1.程式碼例項如下: public class HttpgetUtils { public static String sendGETRequest(String path, Map param

Http請求獲取請求的實際IP地址

    public static String getRemoteIP(HttpServletRequest request) {        String ip =null;        if (ip == null || ip.length() == 0 || "u

python 用 requests傳送get請求獲取json資料

java進行一次get請求,少說都要洋洋灑灑一兩百行程式碼,建立流,發請求,解析資料,關閉流等等而python就四行業務程式碼    import requests    #請求地址    url = "https://api.global.net/datastore/v1/

傳送http請求獲取返回的zip包並讀取包內的檔案

//接收http請求並將需要的檔案打包返回 public void mark(HttpServletResponse response) { try { response.setContentType("multipart/form-data");

http的GET請求和檢視返回結果

go語言http.Get package main import ( "fmt" "io/ioutil" "log" "net/http" ) func main() { res, err := http.Get("

dva中不通過yield傳送封裝的請求並且獲取返回的資料

正常情況下我們會通過dispatch非同步傳送請求,但是資料非同步導致了一些問題,所以這裡我跳過了dispatch這一步,直接在函式中呼叫封裝的請求。但是封裝的請求返回的是一個promise物件,我們無法直接獲取其中的資料,以下是我的處理方法,如果有更好的處理方案,歡迎提供參