B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 2|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

Æ»¹û½Å±¾ÍøÂçAPI¼à¿ØÓëÊý¾Ý¹ÜÀí¹¤¾ß

[¸´ÖÆÁ´½Ó]

1122

Ö÷Ìâ

1127

Ìû×Ó

7765

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7765
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷
Æ»¹û½Å±¾ÍøÂçAPI¼à¿ØÓëÊý¾Ý¹ÜÀí¹¤¾ß
Æ»¹û½Å±¾ÍøÂçAPI¼à¿ØÓëÊý¾Ý¹ÜÀí¹¤¾ß B2BÍøÂçÈí¼þ

  1. /**
  2. * AIWROKÍøÂçHTTP¸ß¼¶ÊµÕ½Ó¦ÓÃAPI¼à¿ØÓëÊý¾Ý¹ÜÀí¹¤¾ß
  3. */

  4. // =============================================================================
  5. // È«¾ÖÅäÖÃÓ빤¾ßº¯Êý
  6. // =============================================================================
  7. var API_CONFIG = {
  8.     timeout: 8000,
  9.     charset: "UTF-8",
  10.     userAgent: "AIWROK-SmartMonitor/2.0"
  11. };

  12. // Êý¾Ý´æ´¢Â·¾¶£¨Í¨¹ý¿ò¼ÜAPI¶¯Ì¬»ñÈ¡£©
  13. var DATA_PATH = project.getResourcesPath() + "/api_monitor_data.txt";
  14. var CACHE_PATH = project.getResourcesPath() + "/api_cache.txt";

  15. /**
  16. * ʱ¼ä´Á¸ñʽ»¯
  17. */
  18. function formatTimestamp() {
  19.     var now = new Date();
  20.     return now.getFullYear() + "-" +
  21.            String(now.getMonth() + 1).padStart(2, '0') + "-" +
  22.            String(now.getDate()).padStart(2, '0') + " " +
  23.            String(now.getHours()).padStart(2, '0') + ":" +
  24.            String(now.getMinutes()).padStart(2, '0') + ":" +
  25.            String(now.getSeconds()).padStart(2, '0');
  26. }

  27. /**
  28. * ±£´æÊý¾Ýµ½Îļþ
  29. */
  30. function saveData(filePath, data) {
  31.     try {
  32.         txt.writeFile(filePath, data, false); // false=¸²¸Çģʽ
  33.         printl("✓ Êý¾ÝÒѱ£´æµ½: " + filePath);
  34.         return true;
  35.     } catch (e) {
  36.         printl("✗ ±£´æÊ§°Ü: " + e.toString());
  37.         return false;
  38.     }
  39. }

  40. /**
  41. * ´ÓÎļþ¶ÁÈ¡Êý¾Ý
  42. */
  43. function loadData(filePath) {
  44.     try {
  45.         var content = txt.readFile(filePath);
  46.         if (content && content.length > 0) {
  47.             return content;
  48.         }
  49.         return null;
  50.     } catch (e) {
  51.         // Îļþ²»´æÔÚ»ò¶Áȡʧ°Üʱ·µ»Ønull
  52.         return null;
  53.     }
  54. }

  55. // =============================================================================
  56. // 1. ÖÇÄÜAPI½¡¿µ¼à¿ØÏµÍ³
  57. // =============================================================================
  58. function apiHealthMonitor() {
  59.     printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  60.     printl("📊 Ä£¿é1: API½¡¿µ¼à¿ØÏµÍ³");
  61.     printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  62.    
  63.     var apis = [
  64.         { name: "°Ù¶È", url: "https://www.baidu.com", type: "web" },
  65.         { name: "GitHub", url: "https://api.github.com", type: "api" },
  66.         { name: "IP²éѯ", url: "http://ip-api.com/ip", type: "api" }
  67.     ];
  68.    
  69.     var results = [];
  70.    
  71.     for (var i = 0; i < apis.length; i++) {
  72.         var api = apis[i];
  73.         printl("\n²âÊÔ: " + api.name + " (" + api.url + ")");
  74.         
  75.         try {
  76.             var startTime = new Date().getTime();
  77.             var http = new OkHttp();
  78.             http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
  79.             http.setHeader("User-Agent", API_CONFIG.userAgent);
  80.             
  81.             var response = http.get(api.url);
  82.             var endTime = new Date().getTime();
  83.             var duration = endTime - startTime;
  84.             
  85.             var status = {
  86.                 name: api.name,
  87.                 url: api.url,
  88.                 success: response !== null && response.length > 0,
  89.                 duration: duration,
  90.                 size: response ? response.length : 0,
  91.                 timestamp: formatTimestamp()
  92.             };
  93.             
  94.             if (status.success) {
  95.                 printl("✅ ³É¹¦ | ºÄʱ: " + duration + "ms | ´óС: " + status.size + "×Ö½Ú");
  96.             } else {
  97.                 printl("❌ ʧ°Ü | ºÄʱ: " + duration + "ms");
  98.             }
  99.             
  100.             results.push(status);
  101.         } catch (error) {
  102.             printl("⚠️ Òì³£: " + error.toString().substring(0, 60));
  103.             results.push({
  104.                 name: api.name,
  105.                 url: api.url,
  106.                 success: false,
  107.                 duration: 0,
  108.                 size: 0,
  109.                 timestamp: formatTimestamp(),
  110.                 error: error.toString()
  111.             });
  112.         }
  113.     }
  114.    
  115.     // ±£´æ¼à¿Ø½á¹û
  116.     var report = "API½¡¿µ¼à¿Ø±¨¸æ [" + formatTimestamp() + "]\n";
  117.     report += "========================================\n";
  118.     for (var j = 0; j < results.length; j++) {
  119.         var r = results[j];
  120.         report += r.name + ": " + (r.success ? "✅Õý³£" : "❌Òì³£") +
  121.                   " | ºÄʱ:" + r.duration + "ms\n";
  122.     }
  123.    
  124.     saveData(DATA_PATH, report);
  125.     printl("\n&#128196; ¼à¿Ø±¨¸æÒѱ£´æ");
  126.    
  127.     return results;
  128. }

  129. // =============================================================================
  130. // 2. ¶¯Ì¬±íµ¥¹¹½¨Æ÷ÓëPOSTÌá½»
  131. // =============================================================================
  132. function dynamicFormBuilder() {
  133.     printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  134.     printl("&#128221; Ä£¿é2: ¶¯Ì¬±íµ¥¹¹½¨Æ÷");
  135.     printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  136.    
  137.     // Ä£ÄâÓû§ÊäÈë¹¹½¨±íµ¥
  138.     var formFields = {
  139.         username: "user_" + Math.floor(Math.random() * 1000),
  140.         email: "test" + Math.floor(Math.random() * 100) + "@example.com",
  141.         age: String(20 + Math.floor(Math.random() * 30)),
  142.         action: "register",
  143.         timestamp: String(new Date().getTime())
  144.     };
  145.    
  146.     printl("¹¹½¨µÄ±íµ¥Êý¾Ý:");
  147.     for (var key in formFields) {
  148.         printl("  " + key + " = " + formFields[key]);
  149.     }
  150.    
  151.     // ·½Ê½1: ×Ö·û´®Æ´½Ó
  152.     var formData = "";
  153.     var keys = Object.keys(formFields);
  154.     for (var i = 0; i < keys.length; i++) {
  155.         if (i > 0) formData += "&";
  156.         formData += keys[i] + "=" + encodeURIComponent(formFields[keys[i]]);
  157.     }
  158.    
  159.     printl("\n±íµ¥×Ö·û´®: " + formData);
  160.    
  161.     try {
  162.         var http = new OkHttp();
  163.         http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
  164.         http.setCharset(API_CONFIG.charset);
  165.         
  166.         var response = http.postForm("https://httpbin.org/post", formData);
  167.         
  168.         if (response) {
  169.             printl("\n✅ POST±íµ¥Ìá½»³É¹¦");
  170.             
  171.             try {
  172.                 var result = JSON.parse(response);
  173.                 if (result.form) {
  174.                     printl("·þÎñÆ÷½ÓÊÕµ½µÄÊý¾Ý:");
  175.                     printl(JSON.stringify(result.form, null, 2));
  176.                 }
  177.             } catch (e) {
  178.                 printl("ÏìÓ¦Ô¤ÀÀ: " + response.substring(0, 200));
  179.             }
  180.         }
  181.     } catch (error) {
  182.         printl("❌ POST±íµ¥Ìύʧ°Ü: " + error.toString());
  183.     }
  184.    
  185.     // ·½Ê½2: Map¶ÔÏó
  186.     printl("\n--- ʹÓÃMap¶ÔÏó·½Ê½ ---");
  187.     try {
  188.         var http2 = new OkHttp();
  189.         http2.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
  190.         http2.setCharset(API_CONFIG.charset);
  191.         
  192.         var mapData = new Map();
  193.         for (var key2 in formFields) {
  194.             mapData.add(key2, formFields[key2]);
  195.         }
  196.         
  197.         var response2 = http2.post("https://httpbin.org/post", mapData);
  198.         
  199.         if (response2) {
  200.             printl("✅ Map·½Ê½POST³É¹¦");
  201.             printl("ÏìÓ¦³¤¶È: " + response2.length + " ×Ö½Ú");
  202.         }
  203.     } catch (error) {
  204.         printl("❌ Map·½Ê½POSTʧ°Ü: " + error.toString());
  205.     }
  206. }

  207. // =============================================================================
  208. // 3. JSONÊý¾Ý½»»»Ó뻺´æ»úÖÆ
  209. // =============================================================================
  210. function jsonDataExchangeWithCache() {
  211.     printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  212.     printl("&#128190; Ä£¿é3: JSONÊý¾Ý½»»»Ó뻺´æ");
  213.     printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  214.    
  215.     // ¼ì²é»º´æ
  216.     var cachedData = loadData(CACHE_PATH);
  217.     if (cachedData) {
  218.         printl("&#128230; ·¢ÏÖ»º´æÊý¾Ý£¬¼ÓÔØ...");
  219.         try {
  220.             var cacheObj = JSON.parse(cachedData);
  221.             printl("»º´æÊ±¼ä: " + cacheObj.cachedAt);
  222.             printl("»º´æÌõÄ¿Êý: " + (cacheObj.data ? cacheObj.data.length : 0));
  223.         } catch (e) {
  224.             printl("»º´æ¸ñʽ´íÎ󣬽«ÖØÐ»ñÈ¡");
  225.             cachedData = null;
  226.         }
  227.     }
  228.    
  229.     // ¹¹½¨¸´ÔÓJSONÊý¾Ý
  230.     var requestData = {
  231.         userId: "user_" + Math.floor(Math.random() * 10000),
  232.         preferences: {
  233.             theme: "dark",
  234.             language: "zh-CN",
  235.             notifications: true
  236.         },
  237.         tags: ["developer", "automation", "testing"],
  238.         metadata: {
  239.             platform: "iOS",
  240.             version: "2.0",
  241.             buildTime: new Date().toISOString()
  242.         }
  243.     };
  244.    
  245.     printl("\n·¢Ë͵ÄJSONÊý¾Ý:");
  246.     printl(JSON.stringify(requestData, null, 2));
  247.    
  248.     try {
  249.         var http = new OkHttp();
  250.         http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
  251.         http.setCharset(API_CONFIG.charset);
  252.         http.setHeader("Content-Type", "application/json");
  253.         http.setHeader("Accept", "application/json");
  254.         
  255.         var response = http.json("https://httpbin.org/post", requestData);
  256.         
  257.         if (response) {
  258.             printl("\n✅ JSONÇëÇó³É¹¦");
  259.             
  260.             try {
  261.                 var result = JSON.parse(response);
  262.                
  263.                 // ÌáÈ¡·þÎñÆ÷·µ»ØµÄÊý¾Ý
  264.                 if (result.json) {
  265.                     printl("\n·þÎñÆ÷ÊÕµ½µÄJSON:");
  266.                     printl(JSON.stringify(result.json, null, 2));
  267.                 }
  268.                
  269.                 // ´´½¨»º´æ¶ÔÏó
  270.                 var cacheObject = {
  271.                     cachedAt: formatTimestamp(),
  272.                     requestId: result.headers ? result.headers["X-Request-Id"] : "unknown",
  273.                     data: result.json || requestData,
  274.                     responseSize: response.length
  275.                 };
  276.                
  277.                 // ±£´æ»º´æ
  278.                 var cacheJson = JSON.stringify(cacheObject, null, 2);
  279.                 saveData(CACHE_PATH, cacheJson);
  280.                
  281.                 printl("\n&#128190; Êý¾ÝÒÑ»º´æµ½: " + CACHE_PATH);
  282.                
  283.             } catch (parseError) {
  284.                 printl("JSON½âÎöʧ°Ü: " + parseError.toString());
  285.                 printl("ԭʼÏìÓ¦: " + response.substring(0, 200));
  286.             }
  287.         }
  288.     } catch (error) {
  289.         printl("❌ JSONÇëÇóʧ°Ü: " + error.toString());
  290.     }
  291. }

  292. // =============================================================================
  293. // 4. ¶à½Ó¿Ú²¢·¢ÇëÇóÄ£Ä⣨´®ÐÐÖ´ÐУ©
  294. // =============================================================================
  295. function concurrentRequestsSimulation() {
  296.     printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  297.     printl("⚡ Ä£¿é4: ¶à½Ó¿Ú²¢·¢ÇëÇóÄ£Äâ");
  298.     printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  299.    
  300.     var endpoints = [
  301.         { name: "»ñÈ¡Headers", url: "https://httpbin.org/headers" },
  302.         { name: "»ñÈ¡IP", url: "https://httpbin.org/ip" },
  303.         { name: "»ñÈ¡User-Agent", url: "https://httpbin.org/user-agent" },
  304.         { name: "ÑÓ³Ù²âÊÔ", url: "https://httpbin.org/delay/1" }
  305.     ];
  306.    
  307.     var allResults = [];
  308.     var totalStartTime = new Date().getTime();
  309.    
  310.     for (var i = 0; i < endpoints.length; i++) {
  311.         var endpoint = endpoints[i];
  312.         printl("\n[" + (i + 1) + "/" + endpoints.length + "] ÇëÇó: " + endpoint.name);
  313.         
  314.         try {
  315.             var startTime = new Date().getTime();
  316.             var http = new OkHttp();
  317.             http.setTimeout(10000, 10000, 5000);
  318.             http.setHeader("User-Agent", API_CONFIG.userAgent);
  319.             http.setHeader("X-Request-Index", String(i));
  320.             
  321.             var response = http.get(endpoint.url);
  322.             var endTime = new Date().getTime();
  323.             var duration = endTime - startTime;
  324.             
  325.             var result = {
  326.                 index: i,
  327.                 name: endpoint.name,
  328.                 url: endpoint.url,
  329.                 success: response !== null,
  330.                 duration: duration,
  331.                 size: response ? response.length : 0,
  332.                 timestamp: formatTimestamp()
  333.             };
  334.             
  335.             if (result.success) {
  336.                 printl("  ✅ Íê³É | " + duration + "ms | " + result.size + "×Ö½Ú");
  337.                
  338.                 // ³¢ÊÔÌáÈ¡¹Ø¼üÐÅÏ¢
  339.                 try {
  340.                     var jsonResp = JSON.parse(response);
  341.                     if (jsonResp.origin) {
  342.                         printl("  &#128205; IP: " + jsonResp.origin);
  343.                     }
  344.                     if (jsonResp["user-agent"]) {
  345.                         printl("  &#127760; UA: " + jsonResp["user-agent"].substring(0, 50));
  346.                     }
  347.                 } catch (e) {
  348.                     // ºöÂÔ½âÎö´íÎó
  349.                 }
  350.             } else {
  351.                 printl("  ❌ ʧ°Ü | " + duration + "ms");
  352.             }
  353.             
  354.             allResults.push(result);
  355.         } catch (error) {
  356.             printl("  ⚠️ Òì³£: " + error.toString().substring(0, 60));
  357.             allResults.push({
  358.                 index: i,
  359.                 name: endpoint.name,
  360.                 success: false,
  361.                 duration: 0,
  362.                 error: error.toString()
  363.             });
  364.         }
  365.     }
  366.    
  367.     var totalEndTime = new Date().getTime();
  368.     var totalTime = totalEndTime - totalStartTime;
  369.    
  370.     // ͳ¼ÆÐÅÏ¢
  371.     var successCount = 0;
  372.     var totalDuration = 0;
  373.     for (var j = 0; j < allResults.length; j++) {
  374.         if (allResults[j].success) {
  375.             successCount++;
  376.             totalDuration += allResults[j].duration;
  377.         }
  378.     }
  379.    
  380.     printl("\n&#128202; ÇëÇóͳ¼Æ:");
  381.     printl("  ×ÜÇëÇóÊý: " + endpoints.length);
  382.     printl("  ³É¹¦Êý: " + successCount);
  383.     printl("  Ê§°ÜÊý: " + (endpoints.length - successCount));
  384.     printl("  ×ܺÄʱ: " + totalTime + "ms");
  385.     printl("  Æ½¾ùºÄʱ: " + (successCount > 0 ? Math.round(totalDuration / successCount) : 0) + "ms");
  386.    
  387.     // ±£´æÍ³¼Æ½á¹û
  388.     var statsReport = "²¢·¢ÇëÇóͳ¼Æ [" + formatTimestamp() + "]\n";
  389.     statsReport += "========================================\n";
  390.     statsReport += "×ÜÇëÇó: " + endpoints.length + " | ³É¹¦: " + successCount + " | ʧ°Ü: " + (endpoints.length - successCount) + "\n";
  391.     statsReport += "×ܺÄʱ: " + totalTime + "ms\n";
  392.     statsReport += "Ïêϸ½á¹û:\n";
  393.     for (var k = 0; k < allResults.length; k++) {
  394.         var r = allResults[k];
  395.         statsReport += "  [" + r.name + "] " + (r.success ? "✅" : "❌") + " " + r.duration + "ms\n";
  396.     }
  397.    
  398.     saveData(DATA_PATH, statsReport);
  399.     printl("\n&#128196; ͳ¼Æ±¨¸æÒѱ£´æ");
  400. }

  401. // =============================================================================
  402. // 5. Cookie»á»°¹ÜÀíÓë״̬±£³Ö
  403. // =============================================================================
  404. function cookieSessionManager() {
  405.     printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  406.     printl("&#127850; Ä£¿é5: Cookie»á»°¹ÜÀí");
  407.     printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  408.    
  409.     var http = new OkHttp();
  410.     http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
  411.     http.setCharset(API_CONFIG.charset);
  412.     http.setHeader("User-Agent", API_CONFIG.userAgent);
  413.    
  414.     // ²½Öè1: ÉèÖÃCookie
  415.     printl("\n²½Öè1: ÉèÖûỰCookie");
  416.     try {
  417.         var sessionId = "sess_" + Math.random().toString(36).substring(2, 15);
  418.         var userId = "uid_" + Math.floor(Math.random() * 10000);
  419.         
  420.         var setUrl = "https://httpbin.org/cookies/set?session_id=" + sessionId + "&user_id=" + userId;
  421.         var response1 = http.get(setUrl);
  422.         
  423.         if (response1) {
  424.             printl("✅ CookieÉèÖÃÇëÇóÒÑ·¢ËÍ");
  425.             printl("  Session ID: " + sessionId);
  426.             printl("  User ID: " + userId);
  427.         }
  428.     } catch (error) {
  429.         printl("❌ CookieÉèÖÃʧ°Ü: " + error.toString());
  430.     }
  431.    
  432.     // ²½Öè2: »ñÈ¡µ±Ç°Cookie
  433.     printl("\n²½Öè2: »ñÈ¡µ±Ç°Cookie");
  434.     try {
  435.         var cookies = http.getCookie();
  436.         if (cookies && cookies.length > 0) {
  437.             printl("✅ µ±Ç°Cookie:");
  438.             printl("  " + cookies);
  439.         } else {
  440.             printl("ℹ️  Î´»ñÈ¡µ½Cookie£¨Ä³Ð©·þÎñ¿ÉÄܲ»·µ»ØCookie£©");
  441.         }
  442.     } catch (error) {
  443.         printl("⚠️  »ñÈ¡CookieÒì³£: " + error.toString());
  444.     }
  445.    
  446.     // ²½Öè3: ÑéÖ¤CookieÊÇ·ñЯ´ø
  447.     printl("\n²½Öè3: ÑéÖ¤CookieЯ´ø");
  448.     try {
  449.         var verifyUrl = "https://httpbin.org/cookies";
  450.         var response3 = http.get(verifyUrl);
  451.         
  452.         if (response3) {
  453.             printl("✅ CookieÑéÖ¤ÇëÇó³É¹¦");
  454.             
  455.             try {
  456.                 var cookieData = JSON.parse(response3);
  457.                 if (cookieData.cookies) {
  458.                     printl("·þÎñÆ÷ÊÕµ½µÄCookie:");
  459.                     printl("  " + JSON.stringify(cookieData.cookies, null, 2));
  460.                 }
  461.             } catch (e) {
  462.                 printl("ÏìÓ¦Ô¤ÀÀ: " + response3.substring(0, 200));
  463.             }
  464.         }
  465.     } catch (error) {
  466.         printl("❌ CookieÑé֤ʧ°Ü: " + error.toString());
  467.     }
  468.    
  469.     // ²½Öè4: Çå³ýCookie£¨Í¨¹ýÐÂʵÀý£©
  470.     printl("\n²½Öè4: ´´½¨Ð»Ự£¨Çå³ý¾ÉCookie£©");
  471.     try {
  472.         var http2 = new OkHttp();
  473.         http2.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
  474.         http2.setHeader("User-Agent", API_CONFIG.userAgent);
  475.         
  476.         var cookies2 = http2.getCookie();
  477.         if (!cookies2 || cookies2.length === 0) {
  478.             printl("✅ лỰÎÞCookie£¨ÒѸôÀ룩");
  479.         } else {
  480.             printl("ℹ️  Ð»ỰCookie: " + cookies2);
  481.         }
  482.     } catch (error) {
  483.         printl("⚠️  Ð»Ự´´½¨Òì³£: " + error.toString());
  484.     }
  485. }

  486. // =============================================================================
  487. // 6. ÖÇÄÜÖØÊÔ»úÖÆÓë´íÎó´¦Àí
  488. // =============================================================================
  489. function smartRetryMechanism() {
  490.     printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  491.     printl("&#128260; Ä£¿é6: ÖÇÄÜÖØÊÔ»úÖÆ");
  492.     printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  493.    
  494.     var testUrls = [
  495.         "https://httpbin.org/status/200",  // Õý³£
  496.         "https://httpbin.org/status/404",  // 404
  497.         "https://invalid.domain.test",     // ÎÞЧÓòÃû
  498.         "https://httpbin.org/delay/2"      // ÑÓ³Ù
  499.     ];
  500.    
  501.     var maxRetries = 3;
  502.     var retryDelay = 1000; // ºÁÃë
  503.    
  504.     for (var i = 0; i < testUrls.length; i++) {
  505.         var url = testUrls[i];
  506.         printl("\n²âÊÔURL [" + (i + 1) + "/" + testUrls.length + "]: " + url);
  507.         
  508.         var success = false;
  509.         var lastError = null;
  510.         
  511.         for (var attempt = 1; attempt <= maxRetries; attempt++) {
  512.             printl("  ³¢ÊÔ " + attempt + "/" + maxRetries + "...");
  513.             
  514.             try {
  515.                 var startTime = new Date().getTime();
  516.                 var http = new OkHttp();
  517.                 http.setTimeout(5000, 5000, 3000);
  518.                 http.setHeader("User-Agent", API_CONFIG.userAgent);
  519.                 http.setHeader("X-Retry-Attempt", String(attempt));
  520.                
  521.                 var response = http.get(url);
  522.                 var endTime = new Date().getTime();
  523.                 var duration = endTime - startTime;
  524.                
  525.                 // ¸Ä½øÅжÏ: response²»Îªnull¼´ÊÓΪÇëÇóÍê³É(¼´Ê¹ÄÚÈÝΪ¿Õ)
  526.                 if (response !== null && response !== undefined) {
  527.                     printl("  ✅ ³É¹¦ | ºÄʱ: " + duration + "ms | ´óС: " + response.length + "×Ö½Ú");
  528.                     success = true;
  529.                     break;
  530.                 } else {
  531.                     printl("  ⚠️  ÎÞÏìÓ¦¶ÔÏó | ºÄʱ: " + duration + "ms");
  532.                     lastError = "ÎÞÏìÓ¦¶ÔÏó";
  533.                 }
  534.             } catch (error) {
  535.                 var errorMsg = error.toString().substring(0, 60);
  536.                 printl("  ❌ ʧ°Ü: " + errorMsg);
  537.                 lastError = errorMsg;
  538.                
  539.                 // Èç¹ûÊÇ×îºóÒ»´Î³¢ÊÔ£¬²»Ôٵȴý
  540.                 if (attempt < maxRetries) {
  541.                     printl("  ⏳ µÈ´ý " + retryDelay + "ms ºóÖØÊÔ...");
  542.                     // ×¢Ò⣺ʵ¼ÊʹÓÃʱ¿ÉÄÜÐèÒªsleep£¬ÕâÀï¼ò»¯´¦Àí
  543.                 }
  544.             }
  545.         }
  546.         
  547.         if (!success) {
  548.             printl("  &#128165; ×îÖÕʧ°Ü£¬ÒÑÖØÊÔ " + maxRetries + " ´Î");
  549.             printl("  ×îºó´íÎó: " + lastError);
  550.         }
  551.     }
  552.    
  553.     printl("\n&#128202; ÖØÊÔ»úÖÆ²âÊÔÍê³É");
  554. }

  555. // =============================================================================
  556. // 7. Á´Ê½µ÷ÓÃÓë¸ß¼¶ÅäÖÃ
  557. // =============================================================================
  558. function advancedChainCall() {
  559.     printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  560.     printl("⛓️  Ä£¿é7: Á´Ê½µ÷ÓÃÓë¸ß¼¶ÅäÖÃ");
  561.     printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
  562.    
  563.     // ʾÀý1: ÍêÕûÅäÖõ÷ÓÃ
  564.     printl("\nʾÀý1: ÍêÕûÅäÖõ÷ÓÃ");
  565.     try {
  566.         var http1 = new OkHttp();
  567.         http1.setTimeout(8000, 8000, 5000);
  568.         http1.setCharset("UTF-8");
  569.         http1.setHeader("User-Agent", API_CONFIG.userAgent);
  570.         http1.setHeader("Accept", "application/json");
  571.         http1.setHeader("X-Custom-ID", "chain_test_001");
  572.         
  573.         var response1 = http1.get("https://httpbin.org/get");
  574.         
  575.         if (response1) {
  576.             printl("✅ ÅäÖõ÷Óóɹ¦");
  577.             printl("ÏìÓ¦³¤¶È: " + response1.length + " ×Ö½Ú");
  578.             
  579.             try {
  580.                 var data1 = JSON.parse(response1);
  581.                 if (data1.headers) {
  582.                     printl("ÇëÇóÍ·ÒÑ·¢Ë͵½·þÎñÆ÷");
  583.                     if (data1.headers["X-Custom-Id"]) {
  584.                         printl("×Ô¶¨ÒåÍ· X-Custom-ID: " + data1.headers["X-Custom-Id"]);
  585.                     }
  586.                 }
  587.             } catch (e) {
  588.                 printl("ÏìÓ¦Ô¤ÀÀ: " + response1.substring(0, 150));
  589.             }
  590.         }
  591.     } catch (error) {
  592.         printl("❌ ÅäÖõ÷ÓÃʧ°Ü: " + error.toString());
  593.     }
  594.    
  595.     // ʾÀý2: Ìõ¼þ»¯Á´Ê½µ÷ÓÃ
  596.     printl("\nʾÀý2: Ìõ¼þ»¯ÅäÖÃ");
  597.     try {
  598.         var http = new OkHttp();
  599.         http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
  600.         http.setCharset(API_CONFIG.charset);
  601.         http.setHeader("User-Agent", API_CONFIG.userAgent);
  602.         
  603.         // ¸ù¾ÝÌõ¼þÌí¼Ó¶îÍâÍ·
  604.         var useCompression = true;
  605.         if (useCompression) {
  606.             http.setHeader("Accept-Encoding", "gzip, deflate");
  607.             printl("ÒÑÆôÓÃѹËõÖ§³Ö");
  608.         }
  609.         
  610.         var enableCache = false;
  611.         if (enableCache) {
  612.             http.setHeader("Cache-Control", "max-age=3600");
  613.             printl("ÒÑÆôÓûº´æ");
  614.         } else {
  615.             http.setHeader("Cache-Control", "no-cache");
  616.             printl("ÒѽûÓûº´æ");
  617.         }
  618.         
  619.         var response2 = http.get("https://httpbin.org/headers");
  620.         
  621.         if (response2) {
  622.             printl("✅ Ìõ¼þ»¯ÅäÖÃÇëÇó³É¹¦");
  623.             printl("ÏìÓ¦³¤¶È: " + response2.length + " ×Ö½Ú");
  624.         }
  625.     } catch (error) {
  626.         printl("❌ Ìõ¼þ»¯ÅäÖÃʧ°Ü: " + error.toString());
  627.     }
  628.    
  629.     // ʾÀý3: ÅúÁ¿ÇëÇóÅäÖø´ÓÃ
  630.     printl("\nʾÀý3: ÅäÖø´ÓÃ");
  631.     try {
  632.         // ´´½¨»ù´¡ÅäÖÃ
  633.         var baseHttp = new OkHttp();
  634.         baseHttp.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
  635.         baseHttp.setCharset(API_CONFIG.charset);
  636.         baseHttp.setHeader("User-Agent", API_CONFIG.userAgent);
  637.         baseHttp.setHeader("X-Base-Config", "shared");
  638.         
  639.         printl("»ù´¡ÅäÖÃÒÑ´´½¨");
  640.         
  641.         // ¸´ÓÃÅäÖýøÐжà´ÎÇëÇó
  642.         var urls = [
  643.             "https://httpbin.org/get",
  644.             "https://httpbin.org/ip",
  645.             "https://httpbin.org/user-agent"
  646.         ];
  647.         
  648.         for (var i = 0; i < urls.length; i++) {
  649.             try {
  650.                 var resp = baseHttp.get(urls[i]);
  651.                 if (resp) {
  652.                     printl("  [" + (i + 1) + "/" + urls.length + "] ✅ ³É¹¦ | " + resp.length + "×Ö½Ú");
  653.                 } else {
  654.                     printl("  [" + (i + 1) + "/" + urls.length + "] ❌ ʧ°Ü");
  655.                 }
  656.             } catch (e) {
  657.                 printl("  [" + (i + 1) + "/" + urls.length + "] ⚠️ Òì³£");
  658.             }
  659.         }
  660.         
  661.         printl("✅ ÅäÖø´ÓòâÊÔÍê³É");
  662.     } catch (error) {
  663.         printl("❌ ÅäÖø´ÓÃʧ°Ü: " + error.toString());
  664.     }
  665. }

  666. // =============================================================================
  667. // Ö÷³ÌÐò - ÖÇÄÜAPI¼à¿ØÓë¹ÜÀí¹¤¾ß
  668. // =============================================================================
  669. function main() {
  670.     printl("¨X¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨[");
  671.     printl("¨U   AIWROK ÖÇÄÜAPI¼à¿ØÓë¹ÜÀí¹¤¾ß v2.0   ¨U");
  672.     printl("¨U   ¸ß¼¶ÍøÂçHTTP×ÛºÏʵսӦÓà            ¨U");
  673.     printl("¨^¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨a");
  674.     printl("\nÆô¶¯Ê±¼ä: " + formatTimestamp());
  675.     printl("Êý¾Ý·¾¶: " + DATA_PATH);
  676.     printl("»º´æÂ·¾¶: " + CACHE_PATH);
  677.     printl("\n¿ªÊ¼Ö´Ðи÷¸öÄ£¿é...\n");
  678.    
  679.     // Ö´ÐÐËùÓÐÄ£¿é
  680.     apiHealthMonitor();              // Ä£¿é1: API½¡¿µ¼à¿Ø
  681.     dynamicFormBuilder();            // Ä£¿é2: ¶¯Ì¬±íµ¥¹¹½¨
  682.     jsonDataExchangeWithCache();     // Ä£¿é3: JSONÊý¾Ý½»»»Ó뻺´æ
  683.     concurrentRequestsSimulation();  // Ä£¿é4: ¶à½Ó¿Ú²¢·¢ÇëÇó
  684.     cookieSessionManager();          // Ä£¿é5: Cookie»á»°¹ÜÀí
  685.     smartRetryMechanism();           // Ä£¿é6: ÖÇÄÜÖØÊÔ»úÖÆ
  686.     advancedChainCall();             // Ä£¿é7: Á´Ê½µ÷ÓÃÓë¸ß¼¶ÅäÖÃ
  687.    
  688.     printl("\n¨X¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨[");
  689.     printl("¨U         ËùÓÐÄ£¿éÖ´ÐÐÍê³É                 ¨U");
  690.     printl("¨^¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨a");
  691.     printl("\n&#128161; Ìáʾ:");
  692.     printl("  • ¼à¿ØÊý¾ÝºÍͳ¼Æ±¨¸æÒѱ£´æµ½Îļþ");
  693.     printl("  • ¿É¸ù¾Ýʵ¼ÊÐèÇóÐÞ¸ÄAPIµØÖ·ºÍ²ÎÊý");
  694.     printl("  • ½¨ÒéÔÚÍøÂçÁ¼ºÃµÄ»·¾³ÏÂÔËÐÐ");
  695.     printl("  • ²¿·Ö²âÊÔAPI¿ÉÄÜÐèÒª½Ï³¤Ê±¼äÏìÓ¦");
  696.     printl("\n&#127919; ±¾Ê¾ÀýչʾÁË:");
  697.     printl("  ✓ API½¡¿µ¼à¿ØÓë×Ô¶¯»¯±¨¸æ");
  698.     printl("  ✓ ¶¯Ì¬±íµ¥¹¹½¨ÓëPOSTÌá½»");
  699.     printl("  ✓ JSONÊý¾Ý½»»»Óë±¾µØ»º´æ»úÖÆ");
  700.     printl("  ✓ ¶à½Ó¿ÚÅúÁ¿ÇëÇóÓëͳ¼Æ·ÖÎö");
  701.     printl("  ✓ Cookie»á»°¹ÜÀíÓë״̬±£³Ö");
  702.     printl("  ✓ ÖÇÄÜÖØÊÔ»úÖÆÓë´íÎó´¦Àí");
  703.     printl("  ✓ Á´Ê½µ÷ÓÃÓëÅäÖø´Óü¼ÇÉ");
  704.     printl("\nÍê³Éʱ¼ä: " + formatTimestamp());
  705. }

  706. // Ö±½ÓÖ´ÐÐ
  707. main();
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2026-6-25 08:44 , Processed in 0.204154 second(s), 34 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí