最近公司有一個(gè)需求”掃描商品條形碼顯示商品信息“,原以為國(guó)內(nèi)應(yīng)該會(huì)免費(fèi)提供接口,理想總是美好的,現(xiàn)實(shí)都是殘酷的。在阿里云、京東等API開(kāi)放平臺(tái)找了一番,基本都是按次調(diào)用收費(fèi);公司的需求每位用戶一天可能多次調(diào)用接口,這樣一算,成本太高。既然沒(méi)有接口,網(wǎng)站查詢肯定是有的;發(fā)現(xiàn)國(guó)內(nèi)某商品信息服務(wù)平臺(tái),然而網(wǎng)頁(yè)加了人機(jī)驗(yàn)證,靠單純抓接口方式已行不通。
破解方法:
通過(guò)抓取url分析cookie信息,偽造假的驗(yàn)證信息發(fā)給服務(wù)器,達(dá)到繞過(guò)人機(jī)驗(yàn)證。
第一步:通過(guò)get方式訪問(wèn)web頁(yè)面,保留cookie信息
第二步:偽造人機(jī)驗(yàn)證信息
第三步:調(diào)用抓取到的搜索url
接口使用
請(qǐng)求URL:
http://barcode.yz-ss.top/barcode/query/{params}
請(qǐng)求方式:
GET
請(qǐng)求參數(shù):
參數(shù)名 | 必選 | 類型 | 說(shuō)明 |
---|---|---|---|
params | 是 | string | 條形碼 |
請(qǐng)求示例
http://barcode.yz-ss.top/barcode/query/6955394400216
返回示例
{"drugManufacturer": "天津亞寶藥業(yè)科技有限公司", "brand": "玉川", "spec": "10mg×100片", "drugName": "維生素B1片"}
返回參數(shù)說(shuō)明
參數(shù)名 | 類型 | 說(shuō)明 |
---|---|---|
drugManufacturer | string | 廠商 |
brand | string | 品牌 |
spec | string | 規(guī)格 |
drugName | string | 商品名稱 |
接口調(diào)用demo:
image.png
大部分以69開(kāi)頭的條形碼都可以查詢。
老鐵們具體源碼就不公布了!!!
該文章僅供研究學(xué)習(xí)使用,若擅自用于商業(yè)項(xiàng)目,將依法追究法律責(zé)任。
以上屬于原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明作者@怪咖