|
@@ -151,6 +151,141 @@ namespace molilian.core
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ var ts = DateTime.Now.Convert2UnixTimestamp(true);
|
|
|
|
|
+ string cookies = _account.cookies;
|
|
|
|
|
+ //cookies = "pinId=lDSKR4P756s; __jdu=797222838; unpl=JF8EAM1nNSttXxtVVxtSSEFASw9QWwpbTh4KP28NAwlaTAvEt16MoRnbUfHBdCarU9683KT3AsB67n92UtFSEXtdVV9fD0oeBm5vNWRdXU8ABh5VSUAXJV06KgF6SUxXbxN6CCU2S1UEGgYfExlOX11bEAl7FANfZjVSVV5IVwYSABIiEXtdXFptCEoWAmtjBF1YWkJRNSsHGxMRTltWX1oBexYzbWYEUV1fQ10AGjJZfMnF8oHV_d_CidTxw9Df9oz_3EgdCh0RE0hUVldtCXsU; shshshfpa=02d19590-d1e4-c91f-76d9-50b5b48caeae-1696955111; shshshfpx=02d19590-d1e4-c91f-76d9-50b5b48caeae-1696955111; TrackID=1P1YIoOSuMvq9KVQS8e4qaKAWslU3bHIlXwpUNeXUOPY_dPOhYcH5fl6XgaIzKppd5zTuGg52Ql9Ht7h1LNA62ZkhO1G3xwkTKekmP3nhjjmnOr5rzvlohhH3EkChqHLB; thor=D3FCA70DCE7542F87C212B790D3JDaxNfPy83okP3kLScwCkGiuMcyC4Pcyn8202E9E708F27CB58F480D2CC3FE67C9253747FE21007250E37AE528C577139FEEC81E6EE68034351A54BE200FF3JDaxNfPy83okP3kLScwCkGiuMcyC4Pcyn7n92UtFE03B1646F11A6B796AEE7DE71C760EDFF210BD03D24599A6CFF007C0D40BA49D; pin=23117; unick=jd2311kga; _tp=D8kjVbHzTJzgqxcxaN3m1w%3D%3D; _pst=23117; ipLoc-djd=24-2144-3909-58335; 3AB9D23F7A4B3C9B=IPF6PUOISQRNPNXNQVLJJVKQVBTAvEt16MoRnbUfHBdCarU9683JDaxNfPy83okP3kLScwCkGiuMcyC4PcynYGLMEE; flash=2_YNg0msef1iArLpGWQBwhJos62BkQWLuFuDD-HGOLK2KKuPtQ08qYx9js2jlEHwoRT7AVTOjRo8iR1-PT6ZsT8ZDnqdgMfbeoSNMJvJa8qphobenATQ0WXPYP62_XgiF1J7II6jY1qovmiIDadA7rd5tHyAVpTzEsqpI6xVJ9b6D*; __jda=209449046.797222838.1720272224.1720293360.1721239059.3; __jdc=209449046; __jdv=209449046|baidu|-|organic|notset|1721239059356; 3AB9D23F7A4B3CSS=jdd03IPF6PUOISQRNPNXNQVLJJVKQVBTAvEt16MoRnbUfHBdCarU9683JDaxNfPy83okP3kLScwCkGiuMcyC4PcynvEt16MoRnbUfHBdCarU9683KT3AsB67n92UtFUX; _gia_d=1; shshshfpb=BApXcdm_fwvVAJzuAI6Mnq8QQOcIPSh90B9TUVj599xJ1MlKCa4O2; __jdb=209449046.5.797222838|3.1721239059; RT=\"z=1&dm=jd.com&si=zpw2ttxi9&ss=lyq5alej&sl=6&tt=3x4&ld=z4s&nu=3d2f85352c70c73af100bf1449967844&cl=x78\"\r\n\r\n;";
|
|
|
|
|
+
|
|
|
|
|
+ string uuid = cookies.GetContentPart("__jdu=", ";");
|
|
|
|
|
+ string __jda = cookies.GetContentPart("__jda=", ";");
|
|
|
|
|
+ if (__jda.Split('.').Length > 1)
|
|
|
|
|
+ {
|
|
|
|
|
+ uuid = __jda.Split('.')[1];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ string useragent = _account.user_agent;
|
|
|
|
|
+ if (string.IsNullOrEmpty(useragent)) useragent = ProviderFakeUserAgent.RandomComputer;
|
|
|
|
|
+
|
|
|
|
|
+ var args = new
|
|
|
|
|
+ {
|
|
|
|
|
+ funName = "getCode",
|
|
|
|
|
+ param = new
|
|
|
|
|
+ {
|
|
|
|
|
+ couponLink = "",
|
|
|
|
|
+ isPinGou = 0,
|
|
|
|
|
+ materialId = result.itemId,
|
|
|
|
|
+ materialType = 1,
|
|
|
|
|
+ planId = 3479956501,
|
|
|
|
|
+ promotionType = 15,
|
|
|
|
|
+ receiveType = "cps",
|
|
|
|
|
+ wareUrl = wareUrl,
|
|
|
|
|
+ isSmartGraphics = 0,
|
|
|
|
|
+ command = 1,
|
|
|
|
|
+ ext1 = "618|pc|".UrlEncode()
|
|
|
|
|
+ },
|
|
|
|
|
+ lientPageId = "jingfen_pc"
|
|
|
|
|
+ };
|
|
|
|
|
+ string data = args.Convert2Json().UrlEncode();
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ string qs = await H5stHack(new
|
|
|
|
|
+ {
|
|
|
|
|
+ functionId = "unionPromoteLinkService",
|
|
|
|
|
+ appid = "unionpc",
|
|
|
|
|
+ _ = $"{ts}",
|
|
|
|
|
+ loginType = "3",
|
|
|
|
|
+ uuid = uuid,
|
|
|
|
|
+ body = data,
|
|
|
|
|
+ }, cancellationToken);
|
|
|
|
|
+
|
|
|
|
|
+ string url = $"https://api.m.jd.com/api?{qs}";
|
|
|
|
|
+ if (string.IsNullOrEmpty(qs))
|
|
|
|
|
+ {
|
|
|
|
|
+ result.success = false;
|
|
|
|
|
+ result.message = "转链失败";
|
|
|
|
|
+ result.reason = "签名失败";
|
|
|
|
|
+ result.shortLinkurl = wareUrl;
|
|
|
|
|
+ result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ WebClientUtility client = new WebClientUtility();
|
|
|
|
|
+ client.Proxy = _proxy;
|
|
|
|
|
+#if DEBUG
|
|
|
|
|
+
|
|
|
|
|
+ client.Proxy = new WebProxy
|
|
|
|
|
+ {
|
|
|
|
|
+ Address = new Uri("http://bjapi.molilian.com:20063"),
|
|
|
|
|
+ //Credentials = new NetworkCredential("t12881967077999", "6a1eh304")
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ client.Proxy = new WebProxy
|
|
|
|
|
+ {
|
|
|
|
|
+ Address = new Uri("http://f848.kdltps.com:15818"),
|
|
|
|
|
+ Credentials = new NetworkCredential("t12881967077999", "6a1eh304")
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ client.Proxy = null;
|
|
|
|
|
+
|
|
|
|
|
+#endif
|
|
|
|
|
+ client.SetContentType("application/x-www-form-urlencoded");
|
|
|
|
|
+ client.AddHeaders("X-Referer-Page", "https://union.jd.com/proManager/index");
|
|
|
|
|
+ client.AddHeaders("X-Rp-Client", "h5_1.0.0");
|
|
|
|
|
+ client.AddHeaders("Referer", "https://union.jd.com/");
|
|
|
|
|
+ client.AddHeaders("Origin", "https://union.jd.com");
|
|
|
|
|
+ client.UserAgent = useragent;
|
|
|
|
|
+ client.AddHeaders("Cookie", cookies);
|
|
|
|
|
+ client.Post($"body={data}");
|
|
|
|
|
+ var response = await client.RequestAsync(url, "GET", cancellationToken);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //if (response.ResponseMessage.StatusCode == HttpStatusCode.Forbidden)
|
|
|
|
|
+ //{
|
|
|
|
|
+ // result.success = false;
|
|
|
|
|
+ // result.message = "转链失败";
|
|
|
|
|
+ // result.reason = "nologin";
|
|
|
|
|
+ // result.shortLinkurl = wareUrl;
|
|
|
|
|
+ // result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
|
|
|
+ // return result;
|
|
|
|
|
+ //}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ string body = response.Body();
|
|
|
|
|
+ var root = body.Convert2JsonElement();
|
|
|
|
|
+ int code = root.Read<int>("code");
|
|
|
|
|
+ string message = root.Read<string>("message");
|
|
|
|
|
+ string shortCode = root.PathRead<string>("data.shortCode");
|
|
|
|
|
+
|
|
|
|
|
+ if (code == 200)
|
|
|
|
|
+ {
|
|
|
|
|
+ result.success = true;
|
|
|
|
|
+ result.message = "OK";
|
|
|
|
|
+ result.shortLinkurl = shortCode;
|
|
|
|
|
+ result.content = result.shortLinkurl;
|
|
|
|
|
+ result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ if (string.IsNullOrEmpty(body)) message = "网络异常";
|
|
|
|
|
+ result.success = false;
|
|
|
|
|
+ result.message = "转链失败";
|
|
|
|
|
+ result.reason = message;
|
|
|
|
|
+ result.shortLinkurl = wareUrl;
|
|
|
|
|
+ result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
|
|
|
+ _ = new LoggerLibrary("JdUnion", "GetPromotionByCrawlerAsync").Info(body).SaveAsync();
|
|
|
|
|
+ }
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public async Task<JdDataDTO> GetPromotionByCrawlerAsync2(JdDataDTO result, string wareUrl, CancellationToken cancellationToken = default)
|
|
|
|
|
+ {
|
|
|
|
|
+ string[] parts = wareUrl.Split(new string[] { ".html" }, StringSplitOptions.None);
|
|
|
|
|
+ if (parts.Length > 1)
|
|
|
|
|
+ {
|
|
|
|
|
+ wareUrl = parts[0] + ".html";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
var ts = DateTime.Now.Convert2UnixTimestamp(true);
|
|
var ts = DateTime.Now.Convert2UnixTimestamp(true);
|
|
|
string cookies = _account.cookies;
|
|
string cookies = _account.cookies;
|
|
|
//cookies = "pinId=lDSKR4P756s; __jdu=797222838; unpl=JF8EAM1nNSttXxtVVxtSSEFASw9QWwpbTh4KP28NAwlaTAvEt16MoRnbUfHBdCarU9683KT3AsB67n92UtFSEXtdVV9fD0oeBm5vNWRdXU8ABh5VSUAXJV06KgF6SUxXbxN6CCU2S1UEGgYfExlOX11bEAl7FANfZjVSVV5IVwYSABIiEXtdXFptCEoWAmtjBF1YWkJRNSsHGxMRTltWX1oBexYzbWYEUV1fQ10AGjJZfMnF8oHV_d_CidTxw9Df9oz_3EgdCh0RE0hUVldtCXsU; shshshfpa=02d19590-d1e4-c91f-76d9-50b5b48caeae-1696955111; shshshfpx=02d19590-d1e4-c91f-76d9-50b5b48caeae-1696955111; TrackID=1P1YIoOSuMvq9KVQS8e4qaKAWslU3bHIlXwpUNeXUOPY_dPOhYcH5fl6XgaIzKppd5zTuGg52Ql9Ht7h1LNA62ZkhO1G3xwkTKekmP3nhjjmnOr5rzvlohhH3EkChqHLB; thor=D3FCA70DCE7542F87C212B790D3JDaxNfPy83okP3kLScwCkGiuMcyC4Pcyn8202E9E708F27CB58F480D2CC3FE67C9253747FE21007250E37AE528C577139FEEC81E6EE68034351A54BE200FF3JDaxNfPy83okP3kLScwCkGiuMcyC4Pcyn7n92UtFE03B1646F11A6B796AEE7DE71C760EDFF210BD03D24599A6CFF007C0D40BA49D; pin=23117; unick=jd2311kga; _tp=D8kjVbHzTJzgqxcxaN3m1w%3D%3D; _pst=23117; ipLoc-djd=24-2144-3909-58335; 3AB9D23F7A4B3C9B=IPF6PUOISQRNPNXNQVLJJVKQVBTAvEt16MoRnbUfHBdCarU9683JDaxNfPy83okP3kLScwCkGiuMcyC4PcynYGLMEE; flash=2_YNg0msef1iArLpGWQBwhJos62BkQWLuFuDD-HGOLK2KKuPtQ08qYx9js2jlEHwoRT7AVTOjRo8iR1-PT6ZsT8ZDnqdgMfbeoSNMJvJa8qphobenATQ0WXPYP62_XgiF1J7II6jY1qovmiIDadA7rd5tHyAVpTzEsqpI6xVJ9b6D*; __jda=209449046.797222838.1720272224.1720293360.1721239059.3; __jdc=209449046; __jdv=209449046|baidu|-|organic|notset|1721239059356; 3AB9D23F7A4B3CSS=jdd03IPF6PUOISQRNPNXNQVLJJVKQVBTAvEt16MoRnbUfHBdCarU9683JDaxNfPy83okP3kLScwCkGiuMcyC4PcynvEt16MoRnbUfHBdCarU9683KT3AsB67n92UtFUX; _gia_d=1; shshshfpb=BApXcdm_fwvVAJzuAI6Mnq8QQOcIPSh90B9TUVj599xJ1MlKCa4O2; __jdb=209449046.5.797222838|3.1721239059; RT=\"z=1&dm=jd.com&si=zpw2ttxi9&ss=lyq5alej&sl=6&tt=3x4&ld=z4s&nu=3d2f85352c70c73af100bf1449967844&cl=x78\"\r\n\r\n;";
|
|
//cookies = "pinId=lDSKR4P756s; __jdu=797222838; unpl=JF8EAM1nNSttXxtVVxtSSEFASw9QWwpbTh4KP28NAwlaTAvEt16MoRnbUfHBdCarU9683KT3AsB67n92UtFSEXtdVV9fD0oeBm5vNWRdXU8ABh5VSUAXJV06KgF6SUxXbxN6CCU2S1UEGgYfExlOX11bEAl7FANfZjVSVV5IVwYSABIiEXtdXFptCEoWAmtjBF1YWkJRNSsHGxMRTltWX1oBexYzbWYEUV1fQ10AGjJZfMnF8oHV_d_CidTxw9Df9oz_3EgdCh0RE0hUVldtCXsU; shshshfpa=02d19590-d1e4-c91f-76d9-50b5b48caeae-1696955111; shshshfpx=02d19590-d1e4-c91f-76d9-50b5b48caeae-1696955111; TrackID=1P1YIoOSuMvq9KVQS8e4qaKAWslU3bHIlXwpUNeXUOPY_dPOhYcH5fl6XgaIzKppd5zTuGg52Ql9Ht7h1LNA62ZkhO1G3xwkTKekmP3nhjjmnOr5rzvlohhH3EkChqHLB; thor=D3FCA70DCE7542F87C212B790D3JDaxNfPy83okP3kLScwCkGiuMcyC4Pcyn8202E9E708F27CB58F480D2CC3FE67C9253747FE21007250E37AE528C577139FEEC81E6EE68034351A54BE200FF3JDaxNfPy83okP3kLScwCkGiuMcyC4Pcyn7n92UtFE03B1646F11A6B796AEE7DE71C760EDFF210BD03D24599A6CFF007C0D40BA49D; pin=23117; unick=jd2311kga; _tp=D8kjVbHzTJzgqxcxaN3m1w%3D%3D; _pst=23117; ipLoc-djd=24-2144-3909-58335; 3AB9D23F7A4B3C9B=IPF6PUOISQRNPNXNQVLJJVKQVBTAvEt16MoRnbUfHBdCarU9683JDaxNfPy83okP3kLScwCkGiuMcyC4PcynYGLMEE; flash=2_YNg0msef1iArLpGWQBwhJos62BkQWLuFuDD-HGOLK2KKuPtQ08qYx9js2jlEHwoRT7AVTOjRo8iR1-PT6ZsT8ZDnqdgMfbeoSNMJvJa8qphobenATQ0WXPYP62_XgiF1J7II6jY1qovmiIDadA7rd5tHyAVpTzEsqpI6xVJ9b6D*; __jda=209449046.797222838.1720272224.1720293360.1721239059.3; __jdc=209449046; __jdv=209449046|baidu|-|organic|notset|1721239059356; 3AB9D23F7A4B3CSS=jdd03IPF6PUOISQRNPNXNQVLJJVKQVBTAvEt16MoRnbUfHBdCarU9683JDaxNfPy83okP3kLScwCkGiuMcyC4PcynvEt16MoRnbUfHBdCarU9683KT3AsB67n92UtFUX; _gia_d=1; shshshfpb=BApXcdm_fwvVAJzuAI6Mnq8QQOcIPSh90B9TUVj599xJ1MlKCa4O2; __jdb=209449046.5.797222838|3.1721239059; RT=\"z=1&dm=jd.com&si=zpw2ttxi9&ss=lyq5alej&sl=6&tt=3x4&ld=z4s&nu=3d2f85352c70c73af100bf1449967844&cl=x78\"\r\n\r\n;";
|
|
@@ -191,7 +326,21 @@ namespace molilian.core
|
|
|
WebClientUtility client = new WebClientUtility();
|
|
WebClientUtility client = new WebClientUtility();
|
|
|
client.Proxy = _proxy;
|
|
client.Proxy = _proxy;
|
|
|
#if DEBUG
|
|
#if DEBUG
|
|
|
|
|
+
|
|
|
|
|
+ client.Proxy = new WebProxy
|
|
|
|
|
+ {
|
|
|
|
|
+ Address = new Uri("http://bjapi.molilian.com:20063"),
|
|
|
|
|
+ //Credentials = new NetworkCredential("t12881967077999", "6a1eh304")
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ client.Proxy = new WebProxy
|
|
|
|
|
+ {
|
|
|
|
|
+ Address = new Uri("http://f848.kdltps.com:15818"),
|
|
|
|
|
+ Credentials = new NetworkCredential("t12881967077999", "6a1eh304")
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
client.Proxy = null;
|
|
client.Proxy = null;
|
|
|
|
|
+
|
|
|
#endif
|
|
#endif
|
|
|
client.SetContentType("application/x-www-form-urlencoded");
|
|
client.SetContentType("application/x-www-form-urlencoded");
|
|
|
client.AddHeaders("X-Referer-Page", "https://union.jd.com/proManager/index");
|
|
client.AddHeaders("X-Referer-Page", "https://union.jd.com/proManager/index");
|
|
@@ -203,6 +352,19 @@ namespace molilian.core
|
|
|
client.Post($"body={data}");
|
|
client.Post($"body={data}");
|
|
|
var response = await client.RequestAsync(url, "POST", cancellationToken);
|
|
var response = await client.RequestAsync(url, "POST", cancellationToken);
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //if (response.ResponseMessage.StatusCode == HttpStatusCode.Forbidden)
|
|
|
|
|
+ //{
|
|
|
|
|
+ // result.success = false;
|
|
|
|
|
+ // result.message = "转链失败";
|
|
|
|
|
+ // result.reason = "nologin";
|
|
|
|
|
+ // result.shortLinkurl = wareUrl;
|
|
|
|
|
+ // result.deeplink_url = GetDeeplink(result.shortLinkurl);
|
|
|
|
|
+ // return result;
|
|
|
|
|
+ //}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
string body = response.Body();
|
|
string body = response.Body();
|
|
|
var root = body.Convert2JsonElement();
|
|
var root = body.Convert2JsonElement();
|
|
|
int code = root.Read<int>("code");
|
|
int code = root.Read<int>("code");
|