鍍金池/ 問答/HTML/ 如何獲取img圖片的實(shí)際返回值地址?

如何獲取img圖片的實(shí)際返回值地址?

<img class="lazy" src="http://tu.hanximeng.com/api.php" data-original="http://tu.hanximeng.com/api.php" style="border-radius: 10px; display: inline;" width="100%">

比方說這個(gè),src是一個(gè)php請求接口,這樣通過img返回的實(shí)際圖片地址獲取不到,請問怎么樣才能獲得真實(shí)的img地址呢?

回答
編輯回答
近義詞

如果說你想要在瀏覽器端獲取這個(gè)真實(shí)地址,也就是重定向之后的那個(gè)url,好像沒什么辦法可以拿到,反正我想不到辦法可以取到location的值(瀏覽器端的情況下)。

首先你可以知道,這個(gè)接口返回的如果直接就是圖片文件的話,那很簡單,真實(shí)地址就是:http://tu.hanximeng.com/api.php

但是你請求這個(gè)接口,看一下http響應(yīng)的內(nèi)容就知道,這個(gè)接口返回了一個(gè)指向真實(shí)圖片地址的重定向。

0060lm7Tly1fus1o69ssoj30m20djaak.jpg

而瀏覽器對于302狀態(tài)碼會(huì)自動(dòng)再發(fā)起一次請求去請求這個(gè)定義在響應(yīng)頭location字段里的url

所以,如果拋開瀏覽器這個(gè)環(huán)境去請求這個(gè)接口,就可以直接獲取響應(yīng)頭里的location值了,比如你用node啦、php啦等等后端語言去對這個(gè)接口發(fā)起一次http請求,就可以直接去獲取圖片真實(shí)地址了,因?yàn)槟J(rèn)它們不會(huì)像瀏覽器一樣直接強(qiáng)制重定向~

2018年1月29日 06:13
編輯回答
孤客

既然是在img標(biāo)簽的src屬性了,就一定是一個(gè)圖片,否則不會(huì)顯示出來,所以你要的實(shí)際地址就是這個(gè)地址,至于是否這個(gè)php在服務(wù)器端做了什么操作(比如把某個(gè)別的位置的圖片拿過來,或者從數(shù)據(jù)庫里去取出二進(jìn)制內(nèi)容轉(zhuǎn)換為圖片返回給前臺(tái)),這些對前臺(tái)是不透明的,前端是不知道這些操作的,更拿不到服務(wù)器端圖片文件的存儲(chǔ)地址。

2018年4月28日 00:55
編輯回答
薄荷綠

給你個(gè)思路
1.獲取地址后加載圖片然后header頭輸出圖片
2.在加載img之前就通過api接口獲取地址

$imageSrc=api('xxxx');
 <img src="<?=$imageSrc?>">
2018年8月28日 03:28