python上傳圖片(1)
抓取圖片流量
Content-Disposition: form-data; name=“upload_file”; filename=“test.jpg”
Content-Type: image/jpeg
Content-Disposition: form-data; name=“submit”
ctrl+u:源碼
<input class="input_file" type="file" name="upload_file"/>
<input class="button" type="submit" name="submit" value="上傳"/>
#coding:utf-8
import requests
def up_test():
uri = 'https://httpbin.org/post'
# files = {'file': ('report.csv', 'some,data,to,send\nanother,row,to,send\n')}
files = {'file': ('test.jpg', open('test.jpg', 'rb'), 'image/jpeg', {'Expires': '0'})}
r = requests.post(uri, files=files)
print(r.text)
'''
#Streaming Uploads
with open('massive-body', 'rb') as f:
requests.post('http://some.url/streamed', data=f)
# Chunk-Encoded Requests
def gen():
yield 'hi'
yield 'there'
requests.post('http://some.url/chunked', data=gen())
# POST Multiple Multipart-Encoded Files
#<input type="file" name="images" multiple="true" required="true"/>
multiple_files = [
('images', ('foo.png', open('foo.png', 'rb'), 'image/png')),
('images', ('bar.png', open('bar.png', 'rb'), 'image/png'))]
requests.post(url, files=multiple_files)
'''
def upload_img(lfile,url):
try:
#test33.jpg 遠程文件名,lfile本地文件名,filename="test.jpg"後面沒東西填None
files = {
"upload_file" : ("test33.jpg", open(lfile, "rb"), "image/png"),
"submit": (None, lfile)
}
req = requests.post(url, files=files)
print(req.text)
except Exception as e:
print(str(e))
pass
if __name__ == '__main__':
lfile = 'test.jpg'
url = 'http://192.168.22.130/upload-labs-master/Pass-02/index.php'
upload_img(lfile,url)
#up_test()
python上傳圖片(2)
base64
post的數據如下
tx=data%3Aimage%2Fjpeg%3Bbase64%2C%2F9j%2F4AA......
url和base64解碼後
tx=data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAeAB4AAD/...
def img2base64(lfile):
try:
with open(lfile, 'rb') as f:
return base64.b64encode(f.read())
except Exception as e:
print('[-]: error'+str(e))
pass