搜狗图床
引子
作为大多搜索引擎必备的产品服务之一,以图搜图也是吸引用户的一个功能。
只不过传的图片一般来讲半永久保存,so......
开始利用!
抓包
打开搜狗图片网站,日常启动Charles开始抓包。
点击“本地上传”,传东西上去。
这里我用win7自带图测试:
(注意:为什么不用F12?他是有重定向的,抓不到!)
从主页到搜索完毕,所有请求汇总好。
有一个地址为http://pic.sogou.com/pic/upload_pic.jsp
的请求引起了我们的注意。
打开一看,里面只有一个file,就是我们刚才传的文件!
锁定目标!
分析
接口的请求是POST,看起来好像没什么限制。
事实上,经过测试,只要有UA,这个请求都能发出去。
而且更好的是,返回直接简单明了的就是一个URL,连JSON都抛弃了,牛逼!
看来,比其他几家简单。
代码
用的requests,传起来方便。
import requests
r=requests.post(
"http://pic.sogou.com/pic/upload_pic.jsp",
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36"
},
files={
"pic_path":open("file.png","rb")
}
)
print(r.text)
输出:
http://img01.sogoucdn.com/app/a/100520146/ba45c8f60456a672e003a875e469d0eb
总结&比较
这个搜狗的防护措施不太强,可以拿来练手。
图片限制在5MB,轻微压缩,无改尺寸,同图缓存,全国CDN,服务器有10个域名:
img.sogoucdn.com #山东,陕西,天津
img01.sogoucdn.com #四川,重庆
img02.sogoucdn.com #山东,陕西,天津
img03.sogoucdn.com #山东,陕西,天津
img04.sogoucdn.com #四川,重庆
img05.sogoucdn.com #山东,陕西,天津
img06.sogoucdn.com #山东,陕西,天津
img07.sogoucdn.com #山东,陕西,天津
img08.sogoucdn.com #山东,陕西,天津
img09.sogoucdn.com #山东,陕西,天津
除了对GIF动图的处理有些差外,其他的都很优秀。
某论坛称搜狗会删图,但是和某浪一样也做了Referer限制。已知部分服务器可能免于灾难
这里放上测试后的图: