dodo hold 2 zile în urmă
părinte
comite
360107cce4

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
molilian.api/Properties/PublishProfiles/latest.pubxml.user


+ 7 - 1
molilian.core/Plus/Alimama/parse_2.cs

@@ -489,7 +489,13 @@ namespace molilian.core
                     //result.shortLinkurl = resultText;
                     return result;
                 }
-
+#if DEBUG
+                result.success = true;
+                result.content = resultText;
+                result.link_type = LinkTypeEnum.goods;
+                //result.shortLinkurl = resultText;
+                return result;
+#endif
 
                 Stopwatch sw = Stopwatch.StartNew();
 

+ 14 - 1
molilian.core/Plus/Alimama/parse_endpoint/aliyun.cs

@@ -12,7 +12,21 @@ namespace molilian.core
     {
         public async Task<TkDataDTO> endpoint_aliyun(string content, TkDataDTO result, CancellationToken cancellationToken = default)
         {
+            if (content.Contains("霸下通用 web 页面-验证码"))
+            {
+                _ = new LoggerLibrary("endpoint", "aliyun")
+                    .Info("霸下通用 web 页面-验证码")
+                    .SaveAsync();
+                result.channel = TkChannelEnum.tb;
+                result.link_type = LinkTypeEnum.unknown;
+                result.success = false;
+                result.message = "放弃转链";
+                result.reason = "霸下风控";
+                return result;
+            }
+
             string item_id = content.GetContentPart("item.htm?id=", "");
+
             if (string.IsNullOrEmpty(item_id))
             {
                 _ = new LoggerLibrary("endpoint", "aliyun")
@@ -27,7 +41,6 @@ namespace molilian.core
             }
 
 
-
             var plus = new AliyunPlus(_account.appkey, _account.appSecret);
             var response = await plus.GetProductInfoByIds(item_id, _account.open_pid);
             if (response == null)

+ 4 - 0
molilian.core/Plus/Alimama/parse_endpoint/endpoint_tbk_dg.cs

@@ -13,6 +13,10 @@ namespace molilian.core
         public async Task<TkDataDTO> endpoint_tbk_dg(string content, TkDataDTO result, CancellationToken cancellationToken = default)
         {
             string item_id = content.GetContentPart("item.htm?id=", "");
+#if DEBUG
+
+            item_id = content;
+#endif
             if (string.IsNullOrEmpty(item_id))
             {
                 _ = new LoggerLibrary("endpoint", "tbk_dg")

+ 28 - 8
molilian.core/Plus/pdd/Crawler.cs

@@ -71,12 +71,30 @@ namespace molilian.core
             client.UserAgent = useragent;
             client.AddHeaders("Cookie", cookies);
             client.Post(data);
-            var response = await client.RequestAsync(url, "POST", cancellationToken);
-
-            string body = response.Body();
-            //{"success":false,"errorCode":43001,"errorMsg":"会话已过期","result":null}
-
-
+            var response = await client.RequestAsync(url, "POST", cancellationToken);
+
+            string body = response.Body();
+            //{"success":false,"errorCode":43001,"errorMsg":"会话已过期","result":null}
+
+            string statusCode = response.ResponseMessage == null
+                ? "No response"
+                : $"{(int)response.ResponseMessage.StatusCode} {response.ResponseMessage.ReasonPhrase}";
+            string responseBody = string.IsNullOrWhiteSpace(body) ? "<empty>" : body;
+
+            if (!response.Successed || response.ResponseMessage?.IsSuccessStatusCode != true)
+            {
+                string httpError = response.ResponseException?.Message ?? "<none>";
+                string httpFailureMessage = $"PDD transferUrl HTTP request failed.\nStatus: {statusCode}\nError: {httpError}\nBody:\n{responseBody}";
+
+                await new LoggerLibrary("PddUnion", "transferUrl.HttpError")
+                    .Info(httpFailureMessage, response.ResponseException?.StackTrace)
+                    .SaveAsync();
+                throw new HttpRequestException(
+                    httpFailureMessage,
+                    response.ResponseException,
+                    response.ResponseMessage?.StatusCode);
+            }
+
             PddTransferUrlResponse root;
             try
             {
@@ -88,11 +106,13 @@ namespace molilian.core
             }
             catch (Exception ex)
             {
+                string deserializeFailureMessage = $"PDD transferUrl response deserialization failed.\nStatus: {statusCode}\nBody:\n{responseBody}";
+
                 await new LoggerLibrary("PddUnion", "transferUrl.DeserializeError")
-                    .Info(body)
+                    .Info(deserializeFailureMessage)
                     .Info(ex.Message, ex.StackTrace)
                     .SaveAsync();
-                throw new InvalidOperationException(body, ex);
+                throw new InvalidOperationException(deserializeFailureMessage, ex);
             }
 
             string message = string.Empty;

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff