package main |
import ( |
"io/ioutil" |
"net/http" |
"net/url" |
"fmt" |
"encoding/json" |
) |
|
//---------------------------------- |
// 律师查询调用示例代码 - 聚合数据 |
// 在线接口文档:http://www.juhe.cn/docs/83 |
//---------------------------------- |
|
const APPKEY = "*******************" //您申请的APPKEY |
|
func main(){ |
|
//1.按省份查询律师 |
Request1() |
|
//2.按城市查询律师 |
Request2() |
|
//3.按相似姓名查询律师 |
Request3() |
|
//4.按专长领域查询律师 |
Request4() |
|
//5.随机查询律师 |
Request5() |
|
//6.按手机号码查询律师 |
Request6() |
|
//7.由省份查询城市 |
Request7() |
|
//8.查询专业领域 |
Request8() |
|
//9.查询省份列表 |
Request9() |
|
//10.按姓名查询律师辩词 |
Request10() |
|
//11.按关键词查询律师辩词 |
Request11() |
|
//12.随机查询律师辩词 |
Request12() |
|
} |
|
//1.按省份查询律师 |
func Request1(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/pro" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("st","") //开始数 |
param.Set("count","") //返回的个数 |
param.Set("pro","") //省份名字,如:江苏 |
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://op.juhe.cn/lawyers/city" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("st","") //开始数 |
param.Set("count","") //返回的个数 |
param.Set("city","") //城市名字,如:苏州 |
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://op.juhe.cn/lawyers/name" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("st","") //开始数 |
param.Set("count","") //返回的个数 |
param.Set("name","") //要查询的名字,如:张三、张、安等(模糊查询) |
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"]) |
} |
} |
} |
|
//4.按专长领域查询律师 |
func Request4(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/spec" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("st","") //开始数 |
param.Set("count","") //返回的个数 |
param.Set("spec","") //专长领域 |
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"]) |
} |
} |
} |
|
//5.随机查询律师 |
func Request5(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/rand" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("count","") //返回的个数 |
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"]) |
} |
} |
} |
|
//6.按手机号码查询律师 |
func Request6(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/mobile" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("st","") //开始数 |
param.Set("count","") //返回的个数 |
param.Set("mobile","") //手机号码 |
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"]) |
} |
} |
} |
|
//7.由省份查询城市 |
func Request7(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/citiesByPro" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("pro","") //省份,如:江苏 |
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"]) |
} |
} |
} |
|
//8.查询专业领域 |
func Request8(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/specs" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
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"]) |
} |
} |
} |
|
//9.查询省份列表 |
func Request9(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/pros" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
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"]) |
} |
} |
} |
|
//10.按姓名查询律师辩词 |
func Request10(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/argsByName" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("st","") //开始数 |
param.Set("count","") //返回的个数 |
param.Set("name","") //律师姓名 |
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"]) |
} |
} |
} |
|
//11.按关键词查询律师辩词 |
func Request11(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/argsByTerm" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("st","") //开始数 |
param.Set("count","") //返回的个数 |
param.Set("term","") //关键词 |
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"]) |
} |
} |
} |
|
//12.随机查询律师辩词 |
func Request12(){ |
//请求地址 |
juheURL :="http://op.juhe.cn/lawyers/argsByRand" |
|
//初始化参数 |
param:=url.Values{} |
|
//配置请求参数,方法内部已处理urlencode问题,中文参数可以直接传参 |
param.Set("dtype","") //返回的数据格式,json或xml |
param.Set("count","") //返回的个数 |
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"]) |
} |
} |
} |
|
|
|
// 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) |
} |