圖床上傳工具下載資源順便為帶演示一下,F(xiàn)reebuf的評(píng)論比較開發(fā),可以匿名直接上傳圖片,并返回外鏈信息。圖床上傳工具下載可以來西西軟件園來下載使用,不過具體還是請(qǐng)看下方的教程吧。
介紹
下面來演示一下:
首先隨便打開一篇文章:
http://www.freebuf.com/articles/network/166702.html 就這篇了,這篇文章是我有史以來被噴的最多的一篇,特此記錄之,以激勵(lì)自己不斷學(xué)習(xí)進(jìn)步。
然后鼠標(biāo)滾動(dòng)到最下面的評(píng)論框,點(diǎn)擊插圖, 然后選擇一張圖片上傳,評(píng)論框會(huì)自動(dòng)返回圖片的外鏈地址。
相關(guān)功能實(shí)現(xiàn)
Emmmm,由于是第一次寫自己的Python小工具,所以代碼看上去比較臃腫,一些Python的高級(jí)特性也沒有用上,然后有能力了再來修改。
上傳圖片
使用了requests模塊,其中post的地址是FreeBuf的公共上傳點(diǎn)。
1 2 3 4 5 6 7 8 | def upload(file_name): url = 'http://www.freebuf.com//buf/plugins/ueditor/ueditor/php/imageUp.php&post_id=' headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'} cookies ={ '3cb185a485c81b23211eb80b75a406fd':'1524312580', 'PHPSESSID':'lrps8el9u799le2agl56hhqlf0'} r = requests.post(url,headers=headers,cookies=cookies, files={'upfile' : open(file_name, 'rb')},) |
一個(gè)最基本的 HTTP 上傳請(qǐng)求,上傳的文件名是file_name,然后當(dāng)作參數(shù)傳遞給upload函數(shù)。
從剪貼板保存圖片
1 2 | def save_image(): os.system('xclip -selection clipboard -t image/png -o > /tmp/sqlsec.png') |
這里利用的是Linux下的xclip工具來操作剪貼板,然后將圖片保存到/tmp路徑下,放到這個(gè)臨時(shí)目錄的好處是:計(jì)算機(jī)下一次重啟的時(shí)候會(huì)清除這個(gè)目錄,這樣減少了垃圾的產(chǎn)生。
os.system("cat /etc/passwd")是Python下直接調(diào)用shell命令的一個(gè)規(guī)范。
提取圖片外鏈
由于服務(wù)器直接返回的地址如下:
所以得進(jìn)行簡單的字符串提取,然后在拼接下。前期看這個(gè)返回結(jié)果 像是json格式,然后網(wǎng)上查了寫Python的json數(shù)據(jù)提取,emmm 居然失敗了,下次有機(jī)會(huì)再研究下。用正則把,也可以,但是苦逼的自己正則水平很菜,于是最后直接 僵硬地用了字符串截取來提出 關(guān)鍵數(shù)據(jù):
1 | url = '%s%s'%('http://image.3001.net/',str(r.text[8:42])) |
這里的str(r.text[8:42])),直接截圖字符串的9-43位,然后插入到http://image.3001.net/的后面,組成一個(gè)完整的圖片外鏈。
將 markdown 格式的外鏈拷貝到剪貼板
由于使用的是xclip第三方工具來操作剪貼板 ,所以直接拷貝到剪貼板有點(diǎn)僵硬,我是這么操作的。