自拍偷在线精品自拍偷|国产无码一区二区久久|最新版天堂资源中文官网|国产精品第一页爽爽影院|国产精品一区二区av不卡|久久久波多野av一区无码|国产欧美日本亚洲精品一4区|亚洲精品天堂在线观看2020

當(dāng)前位置:首頁 > 軟件開放 > 正文內(nèi)容

asp頁面重定向代碼(asp中使用response可以實現(xiàn)網(wǎng)頁重定向)

軟件開放4個月前 (09-08)412

最近對接易企簽,需要在用戶簽署完后把簽名文件下載并存儲到我們自己的文件存儲中心,本來在測試環(huán)境和預(yù)發(fā)環(huán)境測試都都無問題,可是,上生產(chǎn)后,問題就來了

最開始下載文件的代碼很簡單

URL url = new URL(fileUrl);

InputStream is = url.openStream();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

IOUtils.copy(is, baos);

測試環(huán)境中,易企簽給的文件地址可以直接返回文件流,這種方式就下載小文件自然就沒什么問題,可是,當(dāng)發(fā)布到生產(chǎn)后,直接通過上面的代碼就只能獲取到下面這樣的代碼

pFound. Redirecting to a http://open.signit.cn/v1/file/public/resources/00941ed4-bd2a-4c82-8758-2eb3760b13ee?token=6777e9df-4068-4e57-9de3-37a9387f5170resourceName=h07Ah6zzLvtmQ6CL4s4D3qin.pdf/a/p

很明顯,給的文件地址不再像預(yù)發(fā)環(huán)境那般單純了,它會302重定向,這就不好意思了,上面的代碼不能用,需要加強一下代碼邏輯,判斷響應(yīng)狀態(tài)碼如果是302,再從請求頭Location中取地址進行數(shù)據(jù)流的獲取。正準(zhǔn)備自己來處理的,突然想到項目中已經(jīng)引入了強大的Hutool工具包,然后一句代碼就OK了

byte[] fileByte = HttpUtil.downloadBytes(fileUrl);

展開全文

那么,為什么它一行代碼就可以處理這個難題呢?我們來大概的看一下,首先進入到downloadBytes中

public static byte[] downloadBytes(String url) {

return HttpDownloader.downloadBytes(url);

}

最終可以跟到HttpUtil.createGet這個方法中

public static HttpRequest createGet(String url, boolean isFollowRedirects) {

return HttpRequest.get(url).setFollowRedirects(isFollowRedirects);

}

this.httpConnection = HttpConnection

.create(this.url.toURL(this.urlHandler), this.proxy)//

.setConnectTimeout(this.connectionTimeout)//

.setReadTimeout(this.readTimeout)//

.setMethod(this.method)//

.setHttpsInfo(this.hostnameVerifier, this.ssf)//

// 定義轉(zhuǎn)發(fā)

.setInstanceFollowRedirects(this.maxRedirectCount 0)

// 流方式上傳數(shù)據(jù)

.setChunkedStreamingMode(this.blockSize)

// 覆蓋默認Header

.header(this.headers, true);

public HttpResponse execute(boolean isAsync) {

// 初始化URL

urlWithParamIfGet();

// 初始化 connection

initConnection();

// 發(fā)送請求

send();

// 手動實現(xiàn)重定向

HttpResponse httpResponse = sendRedirectIfPossible();

// 獲取響應(yīng)

if (null == httpResponse) {

httpResponse = new HttpResponse(this.httpConnection, this.charset, isAsync, isIgnoreResponseBody());

}

return httpResponse;

}

進行URL初始化后,手動設(shè)置重定向,其中maxRedirectCount是可重定向的次數(shù),默認是2次。

private HttpResponse sendRedirectIfPossible() {

if (this.maxRedirectCount 1) {

// 不重定向

return null;

}

// 手動實現(xiàn)重定向

if (this.httpConnection.getHttpURLConnection().getInstanceFollowRedirects()) {

int responseCode;

try {

responseCode = httpConnection.responseCode();

} catch (IOException e) {

// 錯誤時靜默關(guān)閉連接

this.httpConnection.disconnectQuietly();

throw new HttpException(e);

}

if (responseCode != HttpURLConnection.HTTP_OK) {

if (HttpStatus.isRedirected(responseCode)) {

setUrl(httpConnection.header(Header.LOCATION));

if (redirectCount this.maxRedirectCount) {

redirectCount++;

return execute();

}

}

}

asp頁面重定向代碼(asp中使用response可以實現(xiàn)網(wǎng)頁重定向)

}

return null;

}

其實它的實現(xiàn)方式也是上面我們提到的思路是一致的,通過遞歸方式去多次獲取返回的請求頭中的LOCATION地址,嘗試獲取最終的文件下載地址。現(xiàn)在這般簡便的工具類越發(fā)的多,我們在使用的同時也需要去學(xué)習(xí)工具類類的實現(xiàn)思路。這樣我們才不會越發(fā)被動。

掃描二維碼推送至手機訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.thonggone.com/post/120701.html

標(biāo)簽: asp頁面重定向代碼

“asp頁面重定向代碼(asp中使用response可以實現(xiàn)網(wǎng)頁重定向)” 的相關(guān)文章

嵌入式軟件開發(fā)(嵌入式軟件開發(fā)和軟件開發(fā)的區(qū)別)

嵌入式軟件開發(fā)(嵌入式軟件開發(fā)和軟件開發(fā)的區(qū)別)

今天給各位分享嵌入式軟件開發(fā)的知識,其中也會對嵌入式軟件開發(fā)和軟件開發(fā)的區(qū)別進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、什么是嵌入式軟件開發(fā)? 2、什么是嵌入式開發(fā)? 3、嵌入式軟件開發(fā)前景待遇如何?薪資高嗎? 4、什么是嵌入式軟件開發(fā) 什...

長春軟件開發(fā)(長春軟件開發(fā)公司招聘)

長春軟件開發(fā)(長春軟件開發(fā)公司招聘)

本篇文章給大家談?wù)勯L春軟件開發(fā),以及長春軟件開發(fā)公司招聘對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、長春長伴未來公司靠譜嗎 2、長春有哪些好的軟件開發(fā)公司?我是學(xué)JAVA的,再有女生適合做這行業(yè)嗎? 3、長春都有那些軟件開發(fā)公司 4、長春市中級軟件開發(fā)工程...

erp軟件開發(fā)(erp軟件開發(fā)工程師)

erp軟件開發(fā)(erp軟件開發(fā)工程師)

本篇文章給大家談?wù)別rp軟件開發(fā),以及erp軟件開發(fā)工程師對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、ERP開發(fā)需要掌握哪些知識? 2、ERP軟件開發(fā)工程師的主要工作是什么?你會選擇這個行業(yè)嗎? 3、ERP系統(tǒng)開發(fā)前期的準(zhǔn)備 4、開發(fā)ERP軟件需要什么技術(shù)...

百度網(wǎng)盤企業(yè)加速券(百度網(wǎng)盤如何使用加速券)

百度網(wǎng)盤企業(yè)加速券(百度網(wǎng)盤如何使用加速券)

本篇文章給大家談?wù)劙俣染W(wǎng)盤企業(yè)加速券,以及百度網(wǎng)盤如何使用加速券對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、百度網(wǎng)盤怎么買五分鐘加速券 2、百度網(wǎng)盤獲取的倍速播放券沒過期卻用不了 3、百度網(wǎng)盤辦了會員、買了加速券,這種下載速度,請問百度網(wǎng)盤是不是要倒閉了?...

招聘表格模板免費下載(招聘表格模板免費下載安裝)

招聘表格模板免費下載(招聘表格模板免費下載安裝)

今天給各位分享招聘表格模板免費下載的知識,其中也會對招聘表格模板免費下載安裝進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、如何制作個人簡歷表格 2、簡歷表怎么制作 3、如何寫招聘啟事? 4、個人簡歷在哪里制作 如何制作個人簡歷表格 1、簡歷有...

尋寶天行完美世界交易平臺手機游戲(尋寶天行完美世界站)

尋寶天行完美世界交易平臺手機游戲(尋寶天行完美世界站)

今天給各位分享尋寶天行完美世界交易平臺手機游戲的知識,其中也會對尋寶天行完美世界站進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、尋寶天行購買完美世界國際板游戲角色問題 2、關(guān)于完美世界國際版尋寶網(wǎng)角色交易的問題、 3、完美世界國際版尋寶網(wǎng)天行購買角...