Browse Source

修复不能获取价格

master
feng 2 years ago
parent
commit
11dba60ca2
  1. 16
      客户端/齐越慧眼/齐越慧眼/ApiHelper.cs
  2. 15
      客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
  3. 20
      客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml.cs

16
客户端/齐越慧眼/齐越慧眼/ApiHelper.cs

@ -31,6 +31,10 @@ namespace 齐越慧眼
{ {
#if LOCATION #if LOCATION
https://item.taobao.com/item.htm?id=676752909206 //小一
return "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDA1MTUxNjE5NTk0NTg4MTYwIiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNTE2OTc0MjUwNTQyNTAxODg4LDE0MzA0NzE3NDA0NDU2OTE5MDQsMTYyMDM0MzgyNzQ3MjU4NDcwNCIsImV4cCI6MTcwOTQzMDc5MH0.L4F0c7Mx_AbXjiazGmcFDQxVAYwKen91oTS7pZYtqkQ";
//return "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDM5OTA5MzA3MDA4MTU5NzQ0IiwidGVhbUlkIjoiMTQzOTg5ODUxNDIyMDkxMjY0MCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE3MDgzMzM1NDF9.6WCMQzB8iRtYsOZl88YPJrmZVYuuvboO4R8dAQHdLuE"; //return "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDM5OTA5MzA3MDA4MTU5NzQ0IiwidGVhbUlkIjoiMTQzOTg5ODUxNDIyMDkxMjY0MCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE3MDgzMzM1NDF9.6WCMQzB8iRtYsOZl88YPJrmZVYuuvboO4R8dAQHdLuE";
//测试001 //测试001
return "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMzk1NzAwMDEzMTg2NjgyODgwIiwidGVhbUlkIjoiMTU0NzM5OTExMTU1NTE1ODAxNiIsInNvblRlYW1JZHMiOiIxNjIwMzQzODI3NDcyNTg0NzA0IiwiZXhwIjoxNzA3ODExMjQxfQ.Vw_BhiUJnT_Sxm7QzbD2-lSguQI_pA9BDbTcQQ-sfQo"; return "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMzk1NzAwMDEzMTg2NjgyODgwIiwidGVhbUlkIjoiMTU0NzM5OTExMTU1NTE1ODAxNiIsInNvblRlYW1JZHMiOiIxNjIwMzQzODI3NDcyNTg0NzA0IiwiZXhwIjoxNzA3ODExMjQxfQ.Vw_BhiUJnT_Sxm7QzbD2-lSguQI_pA9BDbTcQQ-sfQo";
@ -346,11 +350,16 @@ namespace 齐越慧眼
{ {
HttpClient http = new HttpClient(); HttpClient http = new HttpClient();
http.DefaultRequestHeaders.Add("Cookie", App.JdCookie); http.DefaultRequestHeaders.Add("Cookie", App.JdCookie);
http.DefaultRequestHeaders.Add("referer", "https://item.jd.com/");
http.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0"); http.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0");
html = http.GetStringAsync($"https://item-soa.jd.com/getWareBusiness?skuId={skuId}").Result; string url = $"https://api.m.jd.com/api?appid=pc-item-soa&functionId=pc_detailpage_wareBusiness&client=pc&clientVersion=1.0.0&loginType=3&body=%7B%22skuId%22%3A%20%22{skuId}%22%2C%22num%22%3A%201%7D&jsonp=jQuery9509423&_=1678871818560";
html = http.GetStringAsync(url).Result;
if (!string.IsNullOrEmpty(html)) if (!string.IsNullOrEmpty(html))
{ {
html = html.Trim().Replace("jQuery9509423(", "");
html = html.Remove(html.Length - 2, 2);
var data = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(html); var data = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(html);
string price = data.price.p.ToString(); string price = data.price.p.ToString();
@ -363,6 +372,11 @@ namespace 齐越慧眼
} }
catch (Exception ex) catch (Exception ex)
{ {
if (ex.Message.Contains("403"))
{
return ("noLogin", null);
}
WpfNoticeMsg.NoticeMessage.Show("获取商品价格信息出错:"+ex.Message+"\r\n"+ html); WpfNoticeMsg.NoticeMessage.Show("获取商品价格信息出错:"+ex.Message+"\r\n"+ html);
return (string.Empty, string.Empty); return (string.Empty, string.Empty);
} }

15
客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs

@ -1,4 +1,5 @@
using CefSharp; using CefSharp;
using CefSharp.DevTools.Runtime;
using CefSharp.Wpf; using CefSharp.Wpf;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -36,7 +37,7 @@ namespace 齐越慧眼.UserControls
InitializeComponent(); InitializeComponent();
if (url.Contains("ltype=logout&ReturnUrl=https://home.jd.com")) if (url.Contains("ltype=logout&ReturnUrl=https:/"))
{ {
IsJustLoginJd = true; IsJustLoginJd = true;
} }
@ -102,8 +103,9 @@ namespace 齐越慧眼.UserControls
private void Visitor_SendCookie(Cookie obj) private void Visitor_SendCookie(Cookie obj)
{ {
string cookies = obj.Name + "=" + obj.Value + ";"; //string cookies = obj.Name + "=" + obj.Value + ";";
App.JdCookie += cookies;
} }
private void Web_AddressChanged(object sender, DependencyPropertyChangedEventArgs e) private void Web_AddressChanged(object sender, DependencyPropertyChangedEventArgs e)
@ -117,7 +119,7 @@ namespace 齐越慧眼.UserControls
if (IsJustLoginJd) if (IsJustLoginJd)
{ {
if (e.NewValue.ToString().StartsWith("https://home.jd.com")) if (e.NewValue.ToString().StartsWith("https://home.jd.com")||e.NewValue.ToString().StartsWith("https://item.jd.com"))
{ {
CookieVisitor visitor = new CookieVisitor(); CookieVisitor visitor = new CookieVisitor();
visitor.SendCookie += Visitor_SendCookie; visitor.SendCookie += Visitor_SendCookie;
@ -132,6 +134,11 @@ namespace 齐越慧眼.UserControls
{ {
Thread.Sleep(5000); Thread.Sleep(5000);
var task = DoJavaScript("return document.cookie");
var result2 = task.result;
App.JdCookie = result2.ToString();
using (HttpClient http = new HttpClient()) using (HttpClient http = new HttpClient())
{ {
http.DefaultRequestHeaders.Add("Cookie", App.JdCookie); http.DefaultRequestHeaders.Add("Cookie", App.JdCookie);

20
客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml.cs

@ -1,5 +1,6 @@
using CefSharp; using CefSharp;
using CefSharp.Wpf; using CefSharp.Wpf;
using HandyControl.Expression.Shapes;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
@ -119,7 +120,19 @@ namespace 齐越慧眼.UserControls
{ {
// https://item.jd.com/10030884795783.html // https://item.jd.com/10030884795783.html
var match= Regex.Match(url, "jd.com/(.*?).html");
if (string.IsNullOrEmpty(App.JdCookie))
{
Application.Current.Dispatcher.Invoke(() =>
{
BrowerTabPanelControl.Main.NewTab("https://passport.jd.com/uc/login?ltype=logout&ReturnUrl=https://item.jd.com/10067296719254.html");
MainWindow.Main.tab.SelectedIndex = 2;
});
return "{msg:'未登录京东,请先登录!',success:false}";
}
var match= Regex.Match(url, "jd.com/(.*?).html");
if (!match.Success) if (!match.Success)
{ {
@ -143,6 +156,11 @@ namespace 齐越慧眼.UserControls
var data= ApiHelper.GetItemPrice(itemId); var data= ApiHelper.GetItemPrice(itemId);
if (data.price == "noLogin")
{
return "{msg:'未登录京东,请先登录!',success:false}";
}
string price = data.price; string price = data.price;
string comment = data.commont; string comment = data.commont;

Loading…
Cancel
Save