清華大佬耗費三個月吐血整理的幾百G的資源,免費分享!....>>>
package main import ( "io/ioutil" "net/http" "net/url" "fmt" "encoding/json" ) //---------------------------------- // 商品比價調用示例代碼 - 聚合數據 // 在線接口文檔:http://www.juhe.cn/docs/137 //---------------------------------- const APPKEY = "*******************" //您申請的APPKEY func main(){ //1.查詢支持的商城信息 Request1() //2.比價簡單查詢接口 Request2() //3.比價復雜查詢接口 Request3() } //1.查詢支持的商城信息 func Request1(){ //請求地址 juheURL :="http://api2.juheapi.com/mmb/allsites" //初始化參數 param:=url.Values{} //配置請求參數,方法內部已處理urlencode問題,中文參數可以直接傳參 param.Set("key",APPKEY) //應用APPKEY(應用詳細頁查詢) //發送請求 data,err:=Get(juheURL,param) if err!=nil{ fmt.Errorf("請求失敗,錯誤信息:\\r\\n%v",err) }else{ var netReturn map[string]interface{} json.Unmarshal(data,&netReturn) if netReturn["error_code"].(float64)==0{ fmt.Printf("接口返回result字段是:\\r\\n%v",netReturn["result"]) } } } //2.比價簡單查詢接口 func Request2(){ //請求地址 juheURL :="http://api2.juheapi.com/mmb/search/simple" //初始化參數 param:=url.Values{} //配置請求參數,方法內部已處理urlencode問題,中文參數可以直接傳參 param.Set("keyword","") //要查詢關鍵字 param.Set("key",APPKEY) //應用APPKEY(應用詳細頁查詢) //發送請求 data,err:=Get(juheURL,param) if err!=nil{ fmt.Errorf("請求失敗,錯誤信息:\\r\\n%v",err) }else{ var netReturn map[string]interface{} json.Unmarshal(data,&netReturn) if netReturn["error_code"].(float64)==0{ fmt.Printf("接口返回result字段是:\\r\\n%v",netReturn["result"]) } } } //3.比價復雜查詢接口 func Request3(){ //請求地址 juheURL :="http://api2.juheapi.com/mmb/search/complex" //初始化參數 param:=url.Values{} //配置請求參數,方法內部已處理urlencode問題,中文參數可以直接傳參 param.Set("keyword","") //搜索關鍵字 param.Set("key",APPKEY) //應用APPKEY(應用詳細頁查詢) param.Set("Site","") //商城編號,默認為0,即所有 param.Set("PriceMin","") // 最低價格,0表示無最低價格限制 param.Set("PriceMax","") //最高價格,0表示無最高價格限制 param.Set("PageNum","") //頁號,大于0 param.Set("PageSize","") //每頁返回結果數,上限為50 param.Set("Orderby","") //排序規則,1、score 按權重從高到底排序,默認 2、price 按價格從底到高排序 3、sell 按銷售從高到底排序 param.Set("ZiYing","") //是否自營 param.Set("ExtraParameter","") //0:結果包含淘寶數據,1:結果不包含淘寶數據 //發送請求 data,err:=Get(juheURL,param) if err!=nil{ fmt.Errorf("請求失敗,錯誤信息:\\r\\n%v",err) }else{ var netReturn map[string]interface{} json.Unmarshal(data,&netReturn) if netReturn["error_code"].(float64)==0{ fmt.Printf("接口返回result字段是:\\r\\n%v",netReturn["result"]) } } } // get 網絡請求 func Get(apiURL string,params url.Values)(rs[]byte ,err error){ var Url *url.URL Url,err=url.Parse(apiURL) if err!=nil{ fmt.Printf("解析url錯誤:\\r\\n%v",err) return nil,err } //如果參數中有中文參數,這個方法會進行URLEncode Url.RawQuery=params.Encode() resp,err:=http.Get(Url.String()) if err!=nil{ fmt.Println("err:",err) return nil,err } defer resp.Body.Close() return ioutil.ReadAll(resp.Body) } // post 網絡請求 ,params 是url.Values類型 func Post(apiURL string, params url.Values)(rs[]byte,err error){ resp,err:=http.PostForm(apiURL, params) if err!=nil{ return nil ,err } defer resp.Body.Close() return ioutil.ReadAll(resp.Body) }