京东商品
This commit is contained in:
@@ -51,7 +51,7 @@ func TestOrderListAll(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOrderPartRefundGet(t *testing.T) {
|
||||
result, err := api.OrderPartRefundGet("1557459492221457830")
|
||||
result, err := api.OrderPartRefundGet("2127926002950657162")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
} else {
|
||||
|
||||
@@ -119,7 +119,7 @@ type CreateSkuParamSkus struct {
|
||||
}
|
||||
|
||||
type CreateSkuParamAttrs struct {
|
||||
// AttrValueAlias []string `json:"attrValueAlias"` //否 无 值别名,发布商品时不可设置
|
||||
// AttrValueAlias []string `json:"attrValueAlias,omitempty"` //否 无 值别名,发布商品时不可设置
|
||||
AttrID string `json:"attrId"` //是 无 下沉到sku的属性ID 通过接口 jingdong.category.read.findAttrsByCategoryIdUnlimitCate 获取 features字段中attrLevel=1
|
||||
AttrValues []string `json:"attrValues"` //是 无 下沉到sku属性值 单选或者多选 通过接口jingdong.category.read.findValuesByAttrIdUnlimit获取 输入类型请手动输入
|
||||
}
|
||||
@@ -573,3 +573,46 @@ func (a *API) TransparentImageAdd(wareId int64, imageUrl string) (err error) {
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
type UpdateWareSaleAttrvalueAliasParam struct {
|
||||
WareID int64 `json:"wareId"`
|
||||
Props []*CreateSkuParamAttrs2 `json:"props"` //否 无 多级SKU属性,仅当属性可以下沉时才能设置,不验证必填!sku维度设置后,以sku上的属性为准!
|
||||
}
|
||||
|
||||
type CreateSkuParamAttrs2 struct {
|
||||
AttrValueAlias []string `json:"attrValueAlias,omitempty"` //否 无 值别名,发布商品时不可设置
|
||||
AttrID string `json:"attrId"` //是 无 下沉到sku的属性ID 通过接口 jingdong.category.read.findAttrsByCategoryIdUnlimitCate 获取 features字段中attrLevel=1
|
||||
AttrValues []string `json:"attrValues"` //是 无 下沉到sku属性值 单选或者多选 通过接口jingdong.category.read.findValuesByAttrIdUnlimit获取 输入类型请手动输入
|
||||
Type string `json:"type"` //"com.jd.pop.ware.ic.api.domain.Prop"
|
||||
Type2 string `json:"@type"`
|
||||
}
|
||||
|
||||
//修改商品销售属性
|
||||
//https://open.jd.com/home/home#/doc/api?apiCateId=48&apiId=1381&apiName=jingdong.ware.write.updateWareSaleAttrvalueAlias
|
||||
func (a *API) UpdateWareSaleAttrvalueAlias(param *UpdateWareSaleAttrvalueAliasParam) (err error) {
|
||||
data, _ := json.Marshal(param)
|
||||
_, err = a.AccessAPI2("jingdong.ware.write.updateWareSaleAttrvalueAlias", prodURL, map[string]interface{}{
|
||||
"360buy_param_json": string(data),
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
type SearchSkuListResult struct {
|
||||
Status int `json:"status"`
|
||||
JdPrice float64 `json:"jdPrice"`
|
||||
SkuID int64 `json:"skuId"`
|
||||
WareID int64 `json:"wareId"`
|
||||
OuterID string `json:"outerId"`
|
||||
}
|
||||
|
||||
//搜索sku
|
||||
//https://open.jd.com/home/home#/doc/api?apiCateId=48&apiId=1227&apiName=jingdong.sku.read.searchSkuList
|
||||
func (a *API) SearchSkuList(wareId int64) (list []*SearchSkuListResult, err error) {
|
||||
result, err := a.AccessAPI2("jingdong.sku.read.searchSkuList", prodURL, map[string]interface{}{
|
||||
"wareId": wareId,
|
||||
})
|
||||
if err == nil {
|
||||
utils.Map2StructByJson(result["jingdong_sku_read_searchSkuList_responce"].(map[string]interface{})["page"].(map[string]interface{})["data"], &list, false)
|
||||
}
|
||||
return list, err
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@ func TestFindVendorCategories(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFindAttrs(t *testing.T) {
|
||||
result, err := api.FindAttrs(13582)
|
||||
result, err := api.FindAttrs(15245)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -239,7 +239,7 @@ func TestFindAttrs(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFindValuesByAttrId(t *testing.T) {
|
||||
result, no, err := api.FindValuesByAttrId(150390)
|
||||
result, no, err := api.FindValuesByAttrId(1001038262)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -368,7 +368,7 @@ func TestDeleteSku(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestFindSkuById(t *testing.T) {
|
||||
result, err := api.FindSkuById(69576828876)
|
||||
result, err := api.FindSkuById(69948250090)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -427,3 +427,162 @@ func TestTransparentImageAdd(t *testing.T) {
|
||||
// suffix := str[12:len(str)]
|
||||
fmt.Println(str[:12])
|
||||
}
|
||||
|
||||
func TestUpdateWareSaleAttrvalueAlias(t *testing.T) {
|
||||
err := api.UpdateWareSaleAttrvalueAlias(&UpdateWareSaleAttrvalueAliasParam{
|
||||
WareID: 14566414324,
|
||||
Props: []*CreateSkuParamAttrs2{
|
||||
&CreateSkuParamAttrs2{
|
||||
AttrID: "1001038262",
|
||||
AttrValues: []string{"2453826609"},
|
||||
AttrValueAlias: []string{"500g 下午易缺货"},
|
||||
Type: "com.jd.pop.ware.ic.api.domain.prop",
|
||||
Type2: "com.jd.pop.ware.ic.api.domain.Prop",
|
||||
},
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestSearchSkuList(t *testing.T) {
|
||||
var wareIDs = []int64{
|
||||
14518860227,
|
||||
14518865342,
|
||||
14518857791,
|
||||
14518863440,
|
||||
14518850181,
|
||||
14518869426,
|
||||
14518865836,
|
||||
14518860282,
|
||||
14518862865,
|
||||
14518860089,
|
||||
14518861773,
|
||||
14518857091,
|
||||
14518859794,
|
||||
14518878413,
|
||||
14518874243,
|
||||
14518992990,
|
||||
14519010404,
|
||||
14519010010,
|
||||
14519006838,
|
||||
14519009822,
|
||||
14541114008,
|
||||
14542371664,
|
||||
14542409106,
|
||||
14542477967,
|
||||
14542585438,
|
||||
14542602011,
|
||||
14542586377,
|
||||
14542927723,
|
||||
14542946611,
|
||||
14542948535,
|
||||
14543031285,
|
||||
14543077206,
|
||||
14544951705,
|
||||
14546014638,
|
||||
14565258994,
|
||||
14565275855,
|
||||
14566133342,
|
||||
14566144059,
|
||||
14566419305,
|
||||
14566403990,
|
||||
14566408956,
|
||||
14567187277,
|
||||
14567793468,
|
||||
14567911336,
|
||||
14567910034,
|
||||
14567907049,
|
||||
14567904981,
|
||||
14567909664,
|
||||
14567907786,
|
||||
14568001774,
|
||||
14568152611,
|
||||
14568138877,
|
||||
14568146252,
|
||||
14568161923,
|
||||
14568508881,
|
||||
14568512475,
|
||||
14568524772,
|
||||
14568533264,
|
||||
14568540322,
|
||||
14568534834,
|
||||
14568546936,
|
||||
14568542882,
|
||||
14568806841,
|
||||
14576405495,
|
||||
14576832607,
|
||||
14576832017,
|
||||
14576946037,
|
||||
14576974106,
|
||||
14576993226,
|
||||
14579143223,
|
||||
14581769973,
|
||||
14581773059,
|
||||
14581773646,
|
||||
14581780520,
|
||||
14581782920,
|
||||
14581768094,
|
||||
14581788365,
|
||||
14581805504,
|
||||
14581919920,
|
||||
14581915051,
|
||||
14581920950,
|
||||
14581971709,
|
||||
14581979302,
|
||||
14581974927,
|
||||
14581974739,
|
||||
14581964099,
|
||||
14581974639,
|
||||
14581976637,
|
||||
14581979946,
|
||||
14581989815,
|
||||
14581987337,
|
||||
14581987251,
|
||||
14581981273,
|
||||
14581996123,
|
||||
14581984285,
|
||||
14581994544,
|
||||
14581996576,
|
||||
14582006319,
|
||||
14582000952,
|
||||
14582000668,
|
||||
14581993998,
|
||||
14581996999,
|
||||
14582016736,
|
||||
14582053303,
|
||||
14594027838,
|
||||
14594055255,
|
||||
14594104816,
|
||||
14594233747,
|
||||
14594245738,
|
||||
14594249079,
|
||||
14594296303,
|
||||
14594987858,
|
||||
14596828148,
|
||||
14600091528,
|
||||
14600094614,
|
||||
14600087648,
|
||||
14566414324}
|
||||
for _, v := range wareIDs {
|
||||
result, _ := api.SearchSkuList(v)
|
||||
for _, vv := range result {
|
||||
api.DeleteSku(vv.SkuID)
|
||||
}
|
||||
}
|
||||
// result, err := api.SearchSkuList(14518857091)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestAAAAAA(t *testing.T) {
|
||||
result, err := api.SearchSkuList(14518860227)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
@@ -467,3 +467,74 @@ func (a *API) UpdateWaybill(orderId, logiId, logiNo string) (err error) {
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
//登录
|
||||
// Accept: */*
|
||||
// Accept-Encoding: gzip, deflate, br
|
||||
// Accept-Language: zh-CN,zh;q=0.9
|
||||
// Connection: keep-alive
|
||||
// Content-Length: 2129
|
||||
// Content-Type: application/x-www-form-urlencoded; charset=UTF-8
|
||||
// Cookie: __jdu=15913386790311275342874
|
||||
// Host: passport.jd.com
|
||||
// Origin: https://passport.jd.com
|
||||
// Referer: https://passport.jd.com/common/loginPage?from=pop_vender®Tag=2&ReturnUrl=https%3A%2F%2Fseller.shop.jd.com%2Fseller%2Fsellerinfo%2Fseller_info.action
|
||||
// User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3761.400 QQBrowser/10.6.4121.400
|
||||
// X-k39sGHmW-a: w9fV4=jzG=ce4jhYrOwXaIhG4oeGSZzNBFUXMdcfztckhgq_4MHU49dkqt-U_IweW=f-hl5g7PhWWUfeT4iw7a5YxNBIMIzY89pf_Zve_6wU7tK3btorTN8PW=vySXE1WvKtB=pOxyJ5PDwWT2w_BN0PJqvqaufP9PJerFcHrtj8UImbajPUeDwEv0aEW=ixJDw_nYW1MIJqffqfT9K_mlq5i9csTufgztir-OXI-=2GwrqOqshrWm2GdV25A=d9WWV_Jl3FSqieSWqffOSP1tYGa_I1Otq-bCfrqlcWnfikSEq5_uB9TmN_hX8=aaJHSZ8_WyZcSXwUoY6WJfcya7d0PFcYDI4N4yWVh7qOJv8Zc7WkJnwGBPqUSY5QJfakSPSwhtuXnOv=a=hh8yE5zEzGptNkSV-sZXhrO9BB0Y1qSK4dWrLVBgakiZhfWuKefoiszdlwJZWKa94ehgvW4=s_aaiG4=-phkh54Gaf4gB_OOa-alhYayGVA=cUiaW-i38tc55FagvZ1FcE4yqUNtZZSEd9Wu1_aofqWZdeBUldimcy4=OtZNJUMtaV4Ei_MKHZnmECBpKpaOJcSu2YitoGJup5jol1ivaW_0aki9YN4XNcSPEWS9=dmoHrTmLa3ZwPhNzG_l5yAIwYSPKGD0sW4gieO_5GW9a_itvVhpq3SOsrzWKQ4sieSF-5BmWex=cWBNn=-gUGWVNdK=pnSEIjMghEByKe79YWS=zW_ZqFSEJeJMfNidwIhls_uOq_79z1StjBz0hU09sNMw7WP74kS92sZmcGTpw=3tUOTgw9cuO17W8GMtDX4dg14=9Q49tFTuUUnu1__=5ra91P4tHpZG8FWWBEGFWPTMfWJuf_h4KWM7dNWmWGzEiEJ3Q1T7sq7D7qSE8eiEzObuOWBGyVWtdkxyIVi=f_ht2Oo1dgW4qGtWhUidqXSPKp4WWP4=vrJOqXa0Wp2=c_7fVNBNdY1EZz==jVmoKgMt6WnESsaSc1TJhEJ9k3Zyh63Iw0T=fkMtwsrZzqhtJh7V2UNWh9SfUbJZvU3EKOTge5S=8UzKiU4yEtSPqpT9OyJ3fk3MIwJtvGalhsngq7B=f9BY04arq_4yWgffGDiywG4G5coPKYeDwPSus_4Dzp_IEP4sW_aId-JZisWZhroPI14Y2_Wl3s7EiGSNK5WEaNag7gztvG-PqxJf-zavmNZaws1IweWImnh6E1MIa_qZ7Gr7frm_I=JuuszIiaqdq5492eqDIPStdG7I7kMDjPJtfpa9jcnZfWh9cyaIZ0auuH4=hpMI4NGyJF_DwcnOweJud6WEhp-U7pJg8GiasWS=dPB=1VMtPjJnW=o=KWZu1kB6JVTZakWtj3n92GSzJ5S_8tTO4P-Oikni8GTPyEa=ckzplPaIW9it1TvIqU4GaczIquMtfJ
|
||||
// X-k39sGHmW-b: a348oo
|
||||
// X-k39sGHmW-c: A_MO-4hlAQAA29XveTX0-KoQbPiy3xbjIijWum-rT-EHQtuHV6skyxlsJAsDAawUIfCucinBwH8AAOfvAAAAAA==
|
||||
// X-k39sGHmW-d: 0
|
||||
// X-k39sGHmW-uniqueStateKey: A7ae-4hlAQAAngSz4VMCAl-Vlq71Ta_smPn9uLwC7A7bioCLfwLMadcFYPb2AawUIfGLr4YoFOgAAAAAAAAAAA==
|
||||
// X-Requested-With: XMLHttpRequest
|
||||
func (a *API) TryGetCookie() (cookie string, err error) {
|
||||
params := map[string]interface{}{
|
||||
"uuid": "15fc964c-aa54-4c2d-b718-cd3da5af9d69",
|
||||
"eid": "GS2E2DOSGES5EJGLTQLTXN2FXRWYH2BLDSJ2JGEHLXBBE563VC2OAJEFTO5ZUHRDTRMWOADDAEKFTDAGZHXTULGZBM",
|
||||
"fp": "b5c13ce2badacb92763e140cf2385bfc",
|
||||
"_t": "_t",
|
||||
"loginname": "jxcs_syl",
|
||||
"nloginpwd": "RUUE/EHuNMv88DMcVoMxYix5wjvOSL2rhz1xckkkzgL/Nr4aVKcPvfYDvp9sW1AD32oJ4PM/shLiUAof0KKO3olq5+KwavGQW4UTI2SV+RjSmU830j4v0nSdMKfbszikj4z4R9A7W9HK853tlI0r5cSBuQK5KhsDJf7hWVFgV1c=",
|
||||
"authcode": "3ad7a8a58e8f4122aaa522ec3e034bd3",
|
||||
"pubKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC7kw8r6tq43pwApYvkJ5laljaN9BZb21TAIfT/vexbobzH7Q8SUdP5uDPXEBKzOjx2L28y7Xs1d9v3tdPfKI2LR7PAzWBmDMn8riHrDDNpUpJnlAGUqJG9ooPn8j7YNpcxCa1iybOlc2kEhmJn5uwoanQq+CA6agNkqly2H4j6wIDAQAB",
|
||||
"sa_token": "B68C442BE645754F33277E701208059080DD726A94A73F76DEC3053A838549C06EB7D3797CE1C5BBE7C2B2EF9CA7D4676F3D489984B517943EA13575FA80C7E7ACE37FCFF6F535F07B6FF67F57EA6A0581BD84EA37554047DF10ECB7C873652D89DB5CAEE8F1090FB49A29547319CF16FBF33734EFA4BF8F86849797883219C3E197A604140E904BA7E538273F59893FDF9BFD6EBA3121C9E3CD43FCF0A83781B9A15920719D6C522B442FEB4A3A8C9CC7224AA55DC3877FC1BF5C845DEA80CCFB4D0CF33C8D9563ADF38943F28CEC9013C3BA8916B81844BBA454ACF21EDC3B7364C10CF219ABE7ADFFF42E2063BC2C957642453DA5E5B1E3277AE284D508B740A66BC4913EF086ACA2540C5ABB3E36C7BF693C668DFC806D4A7EFDD347D3C6869E4B529881FE46C9414D0E8E0B2B3BA3689CFCBE5CB26921DA46FABA0098E823B687A7F94DB84900C616284D5F6E49E605BFA8FD4473FD03FACD353DFA026C205B536A0DF325AC713A5B6916A60483BD386F29FF3F28046C4B19E6EE6B18F7C299C4F873C04993A085D6D6DE63C9DFECA20332F02D31EB2BA069EB9FDD3F6C14BEB40ABF57093396EEE3C2C2D727FF8C324016E2BE7BB61F4D7E2669B081E45E24801B6760CEBFE54A188FAD77B99B63D054B55FE09C6FD0A1F7B6EF448E9BBDC4D7554386AB5A2FA0787DB95D788470D913E453AF7E98F05D14B20C342F0A3CD62B833E7AC8B75C5C23ED0FC4FC4C2F23A1FAA047DEB10A856DA39B40BC9E8FC48DF17B98B28FC6C8ED1ABB248D4863083CB04E9DAD58FED19195DC02C2378C10426377996BDA4C1D060D2132BE99C37970727983EFD266A62B498B0116124E6403B18110B868B132C747F08B6DE52FD8BDD1A757E3DC74EC36D62BDF125703CB83DAA362EB086FF567C0549C6BFD26E53EC964405375B6F0CE100B44692D671D7017E45B19B42015F96D2D173B8BDA912FC3C4C8A21528EE0C28E6D4CBB8",
|
||||
"seqSid": "331828644098046192",
|
||||
"useSlideAuthCode": "1",
|
||||
}
|
||||
err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
||||
func() *http.Request {
|
||||
request, _ := http.NewRequest(http.MethodPost, "https://passport.jd.com/common/loginService?nr=1&uuid=094087da-1373-40bf-bba2-63bb64026cfd&from=pop_vender®Tag=2&ReturnUrl=https://seller.shop.jd.com/seller/sellerinfo/seller_info.action&r=0.21554654723242117", strings.NewReader(utils.Map2URLValues(params).Encode()))
|
||||
request.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
|
||||
request.Header.Set("Host", "passport.jd.com")
|
||||
request.Header.Set("Origin", "https://passport.jd.com")
|
||||
request.Header.Set("Referer", "https://passport.jd.com/common/loginPage?from=pop_vender®Tag=2&ReturnUrl=https://seller.shop.jd.com/seller/sellerinfo/seller_info.action")
|
||||
request.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3761.400 QQBrowser/10.6.4121.400")
|
||||
request.Header.Set("X-k39sGHmW-a", "ZtUfrFE109K33EiraIwE4CweB9pexmWIS9jITuItWOvk_upGBNBF7=K6nPW_O0NGwPW_at8qz0hEAaJJ405haPKUBGqUhWqrJtUeSNt7MdcGStLGWtf_hWECJasNSj5h4ke5Nh7ViE8=JnwUSsEf3tOPSKmawFcPzt_pePK6nOw5xUhOi_qIZ=M8Z=oN49KcJ0aG4tvEn-lc1O5UW9KQaZSchZakBr19ipKraXhkidpGJEKyo9UYBj5yaOdNJnTNJuMFotKPhG5OWV2Gaaifh5s1z_hG4=vZJZf_aEqcttie4tjVBXO8_=0yag7eSNwGnuYWh=vxzIzraEws4I8Y4phP4tq5Ju1_Mtc_aj1PSPWfrNEWT=usJu-y57Eaa=wgT=SPh6se4=bs_uvHSgq_4VWkSPyzhOWEJgzNSFcrryKZiFcUoAzKTYEPT96pTmPtJIUXaPhE8oasv901qgwZvI7WS=UpiuLWogw3ht_9So1g4FYkWWdq7ulJadKpSrUa3lyPrgzrJt857yqUqWNka=9QWv0Ix=KPfrWdnJ8GWt17xdUYS=w5TO7_UtzYsvf_W=hO4gqWaZW97PadSUiG1WvIJwW-JOmfJuJONtckTuMb4=YkJuYYnuKrqyS1hlFySoTqitFsWXqB49Uyn7KgWPJEiawt_yoWa9fxsZKGaEaqWIJsJVUGxVq5Wu2e4UhrMt55aFcXd=i2q646rV2kr4spMV5UJ4wPnfdq8G5EJ7Keza8UhofgWu23iVsNvjakidwzfuKFc=NZztfdttifvVE5fmWGMwK0vEdg7up6iudV_8HXTlweSj091t_kvWE14p7kBx8waWVN8Y5Fh=fkvK7N7thUnZwp3XWGerVsKjUUDWW9T_BPS9-kDDhceuhqTGagJ7t0W=c5ogO5SOSCTXZhBscUJZhymgq5hgz9dXO1nlh5BXfLJfaWWja-T9K8iGhkhusPSdWGT90wSgiXnrLzMt-Fjg8h5Fjr-g8g_sqQJh-=_Xqr4t2GTmEWf0y3SrLPupl17uIPi3e32=KqS9d-B9Yg4ywHaEWVvgef8Nhk7j21S_8rru2_3us-SN7q4XfGqW7_SZwGWVWWaPhPJZ4-J3JEor-YSNq_WO06aOfNWm1pJZqU-=8Hr9vQiF1ziPWkaZwaarcGuUw7VmJAS=O14yaWvX8GaG5Xogz1iE0WT9fk4ybFaZ8BruMFhqJk1Ii6x=KGJmWX6ai6T=OKJ7KHmP7rMIhEjg5UvI7m4=-e_iwBMKokSIwHo2a-nufWxsKr_fqGWVqUJa_G4sqeBjaKOYqri4NgoPh8r_KcvoUfiU85qZlcT6SoaupZ7d2cx=jK-rciat1_4PJGWly1blhWhuvUSyKeZXVHE_WGoP8UWZh9WawYnA7WfPfuUE01ar1vSVceWsIqAjW-JZEP4t5etEa_JlUP3p8r3fJWatvPJl3F")
|
||||
request.Header.Set("X-k39sGHmW-b", "-9kt3q0")
|
||||
request.Header.Set("X-k39sGHmW-c", "A_MO-4hlAQAA29XveTX0-KoQbPiy3xbjIijWum-rT-EHQtuHV6skyxlsJAsDAawUIfCucinBwH8AAOfvAAAAAA==")
|
||||
request.Header.Set("X-k39sGHmW-d", "0")
|
||||
request.Header.Set("X-k39sGHmW-uniqueStateKey", "A7ae-4hlAQAAngSz4VMCAl-Vlq71Ta_smPn9uLwC7A7bioCLfwLMadcFYPb2AawUIfGLr4YoFOgAAAAAAAAAAA==")
|
||||
request.Header.Set("X-Requested-With", "XMLHttpRequest")
|
||||
c := &http.Cookie{
|
||||
Name: "alc",
|
||||
Value: "RinKQBiRr1QceieVnkF+Uw==",
|
||||
}
|
||||
c2 := &http.Cookie{
|
||||
Name: "_t",
|
||||
Value: "DplFmazbesu5rn1NUKhLBe8yV7ia5OQcE7GXyFv3QCw=",
|
||||
}
|
||||
request.AddCookie(c)
|
||||
request.AddCookie(c2)
|
||||
return request
|
||||
},
|
||||
a.config,
|
||||
func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) {
|
||||
fmt.Println(utils.Format4Output(response.Cookies(), false))
|
||||
return errLevel, err
|
||||
})
|
||||
return cookie, err
|
||||
}
|
||||
|
||||
func (a *API) JdSSO() (err error) {
|
||||
_, err = a.AccessStorePage("https://sso.jd.com/setCookie?t=https://seller.shop.jd.com/seller/sellerinfo/seller_info.action&callback=https://seller.shop.jd.com/seller/sellerinfo/seller_info.action", nil, false)
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package jdshopapi
|
||||
|
||||
import (
|
||||
"crypto/aes"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
@@ -91,7 +93,45 @@ func TestUpdateWaybill(t *testing.T) {
|
||||
// t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestAAAAAA(t *testing.T) {
|
||||
str := "2020-06-02 16:00-17:00"
|
||||
fmt.Println(str[:strings.LastIndex(str, "-")])
|
||||
func TestTryGetCookie(t *testing.T) {
|
||||
result, err := api.TryGetCookie()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(utils.Format4Output(result, false))
|
||||
}
|
||||
|
||||
func TestAAADS(t *testing.T) {
|
||||
var s float64 = 200
|
||||
fmt.Println(strings.TrimRight(fmt.Sprintf("%.2f", s), "0."))
|
||||
}
|
||||
|
||||
func DecryptDESECB(d, key []byte) string {
|
||||
data, err := base64.StdEncoding.DecodeString(string(d))
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
block, err := aes.NewCipher(key)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
bs := block.BlockSize()
|
||||
if len(data)%bs != 0 {
|
||||
return ""
|
||||
}
|
||||
out := make([]byte, len(data))
|
||||
dst := out
|
||||
for len(data) > 0 {
|
||||
block.Decrypt(dst, data[:bs])
|
||||
data = data[bs:]
|
||||
dst = dst[bs:]
|
||||
}
|
||||
out = PKCS5UnPadding(out)
|
||||
return string(out)
|
||||
}
|
||||
|
||||
func PKCS5UnPadding(origData []byte) []byte {
|
||||
length := len(origData)
|
||||
unpadding := int(origData[length-1])
|
||||
return origData[:(length - unpadding)]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user