|
|
Æ»¹û½Å±¾ÍøÂçAPI¼à¿ØÓëÊý¾Ý¹ÜÀí¹¤¾ß
- /**
- * AIWROKÍøÂçHTTP¸ß¼¶ÊµÕ½Ó¦ÓÃAPI¼à¿ØÓëÊý¾Ý¹ÜÀí¹¤¾ß
- */
- // =============================================================================
- // È«¾ÖÅäÖÃÓ빤¾ßº¯Êý
- // =============================================================================
- var API_CONFIG = {
- timeout: 8000,
- charset: "UTF-8",
- userAgent: "AIWROK-SmartMonitor/2.0"
- };
- // Êý¾Ý´æ´¢Â·¾¶£¨Í¨¹ý¿ò¼ÜAPI¶¯Ì¬»ñÈ¡£©
- var DATA_PATH = project.getResourcesPath() + "/api_monitor_data.txt";
- var CACHE_PATH = project.getResourcesPath() + "/api_cache.txt";
- /**
- * ʱ¼ä´Á¸ñʽ»¯
- */
- function formatTimestamp() {
- var now = new Date();
- return now.getFullYear() + "-" +
- String(now.getMonth() + 1).padStart(2, '0') + "-" +
- String(now.getDate()).padStart(2, '0') + " " +
- String(now.getHours()).padStart(2, '0') + ":" +
- String(now.getMinutes()).padStart(2, '0') + ":" +
- String(now.getSeconds()).padStart(2, '0');
- }
- /**
- * ±£´æÊý¾Ýµ½Îļþ
- */
- function saveData(filePath, data) {
- try {
- txt.writeFile(filePath, data, false); // false=¸²¸Çģʽ
- printl("✓ Êý¾ÝÒѱ£´æµ½: " + filePath);
- return true;
- } catch (e) {
- printl("✗ ±£´æÊ§°Ü: " + e.toString());
- return false;
- }
- }
- /**
- * ´ÓÎļþ¶ÁÈ¡Êý¾Ý
- */
- function loadData(filePath) {
- try {
- var content = txt.readFile(filePath);
- if (content && content.length > 0) {
- return content;
- }
- return null;
- } catch (e) {
- // Îļþ²»´æÔÚ»ò¶Áȡʧ°Üʱ·µ»Ønull
- return null;
- }
- }
- // =============================================================================
- // 1. ÖÇÄÜAPI½¡¿µ¼à¿ØÏµÍ³
- // =============================================================================
- function apiHealthMonitor() {
- printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
- printl("📊 Ä£¿é1: API½¡¿µ¼à¿ØÏµÍ³");
- printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
-
- var apis = [
- { name: "°Ù¶È", url: "https://www.baidu.com", type: "web" },
- { name: "GitHub", url: "https://api.github.com", type: "api" },
- { name: "IP²éѯ", url: "http://ip-api.com/ip", type: "api" }
- ];
-
- var results = [];
-
- for (var i = 0; i < apis.length; i++) {
- var api = apis[i];
- printl("\n²âÊÔ: " + api.name + " (" + api.url + ")");
-
- try {
- var startTime = new Date().getTime();
- var http = new OkHttp();
- http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
- http.setHeader("User-Agent", API_CONFIG.userAgent);
-
- var response = http.get(api.url);
- var endTime = new Date().getTime();
- var duration = endTime - startTime;
-
- var status = {
- name: api.name,
- url: api.url,
- success: response !== null && response.length > 0,
- duration: duration,
- size: response ? response.length : 0,
- timestamp: formatTimestamp()
- };
-
- if (status.success) {
- printl("✅ ³É¹¦ | ºÄʱ: " + duration + "ms | ´óС: " + status.size + "×Ö½Ú");
- } else {
- printl("❌ ʧ°Ü | ºÄʱ: " + duration + "ms");
- }
-
- results.push(status);
- } catch (error) {
- printl("⚠️ Òì³£: " + error.toString().substring(0, 60));
- results.push({
- name: api.name,
- url: api.url,
- success: false,
- duration: 0,
- size: 0,
- timestamp: formatTimestamp(),
- error: error.toString()
- });
- }
- }
-
- // ±£´æ¼à¿Ø½á¹û
- var report = "API½¡¿µ¼à¿Ø±¨¸æ [" + formatTimestamp() + "]\n";
- report += "========================================\n";
- for (var j = 0; j < results.length; j++) {
- var r = results[j];
- report += r.name + ": " + (r.success ? "✅Õý³£" : "❌Òì³£") +
- " | ºÄʱ:" + r.duration + "ms\n";
- }
-
- saveData(DATA_PATH, report);
- printl("\n📄 ¼à¿Ø±¨¸æÒѱ£´æ");
-
- return results;
- }
- // =============================================================================
- // 2. ¶¯Ì¬±íµ¥¹¹½¨Æ÷ÓëPOSTÌá½»
- // =============================================================================
- function dynamicFormBuilder() {
- printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
- printl("📝 Ä£¿é2: ¶¯Ì¬±íµ¥¹¹½¨Æ÷");
- printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
-
- // Ä£ÄâÓû§ÊäÈë¹¹½¨±íµ¥
- var formFields = {
- username: "user_" + Math.floor(Math.random() * 1000),
- email: "test" + Math.floor(Math.random() * 100) + "@example.com",
- age: String(20 + Math.floor(Math.random() * 30)),
- action: "register",
- timestamp: String(new Date().getTime())
- };
-
- printl("¹¹½¨µÄ±íµ¥Êý¾Ý:");
- for (var key in formFields) {
- printl(" " + key + " = " + formFields[key]);
- }
-
- // ·½Ê½1: ×Ö·û´®Æ´½Ó
- var formData = "";
- var keys = Object.keys(formFields);
- for (var i = 0; i < keys.length; i++) {
- if (i > 0) formData += "&";
- formData += keys[i] + "=" + encodeURIComponent(formFields[keys[i]]);
- }
-
- printl("\n±íµ¥×Ö·û´®: " + formData);
-
- try {
- var http = new OkHttp();
- http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
- http.setCharset(API_CONFIG.charset);
-
- var response = http.postForm("https://httpbin.org/post", formData);
-
- if (response) {
- printl("\n✅ POST±íµ¥Ìá½»³É¹¦");
-
- try {
- var result = JSON.parse(response);
- if (result.form) {
- printl("·þÎñÆ÷½ÓÊÕµ½µÄÊý¾Ý:");
- printl(JSON.stringify(result.form, null, 2));
- }
- } catch (e) {
- printl("ÏìÓ¦Ô¤ÀÀ: " + response.substring(0, 200));
- }
- }
- } catch (error) {
- printl("❌ POST±íµ¥Ìύʧ°Ü: " + error.toString());
- }
-
- // ·½Ê½2: Map¶ÔÏó
- printl("\n--- ʹÓÃMap¶ÔÏó·½Ê½ ---");
- try {
- var http2 = new OkHttp();
- http2.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
- http2.setCharset(API_CONFIG.charset);
-
- var mapData = new Map();
- for (var key2 in formFields) {
- mapData.add(key2, formFields[key2]);
- }
-
- var response2 = http2.post("https://httpbin.org/post", mapData);
-
- if (response2) {
- printl("✅ Map·½Ê½POST³É¹¦");
- printl("ÏìÓ¦³¤¶È: " + response2.length + " ×Ö½Ú");
- }
- } catch (error) {
- printl("❌ Map·½Ê½POSTʧ°Ü: " + error.toString());
- }
- }
- // =============================================================================
- // 3. JSONÊý¾Ý½»»»Ó뻺´æ»úÖÆ
- // =============================================================================
- function jsonDataExchangeWithCache() {
- printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
- printl("💾 Ä£¿é3: JSONÊý¾Ý½»»»Ó뻺´æ");
- printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
-
- // ¼ì²é»º´æ
- var cachedData = loadData(CACHE_PATH);
- if (cachedData) {
- printl("📦 ·¢ÏÖ»º´æÊý¾Ý£¬¼ÓÔØ...");
- try {
- var cacheObj = JSON.parse(cachedData);
- printl("»º´æÊ±¼ä: " + cacheObj.cachedAt);
- printl("»º´æÌõÄ¿Êý: " + (cacheObj.data ? cacheObj.data.length : 0));
- } catch (e) {
- printl("»º´æ¸ñʽ´íÎ󣬽«ÖØÐ»ñÈ¡");
- cachedData = null;
- }
- }
-
- // ¹¹½¨¸´ÔÓJSONÊý¾Ý
- var requestData = {
- userId: "user_" + Math.floor(Math.random() * 10000),
- preferences: {
- theme: "dark",
- language: "zh-CN",
- notifications: true
- },
- tags: ["developer", "automation", "testing"],
- metadata: {
- platform: "iOS",
- version: "2.0",
- buildTime: new Date().toISOString()
- }
- };
-
- printl("\n·¢Ë͵ÄJSONÊý¾Ý:");
- printl(JSON.stringify(requestData, null, 2));
-
- try {
- var http = new OkHttp();
- http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
- http.setCharset(API_CONFIG.charset);
- http.setHeader("Content-Type", "application/json");
- http.setHeader("Accept", "application/json");
-
- var response = http.json("https://httpbin.org/post", requestData);
-
- if (response) {
- printl("\n✅ JSONÇëÇó³É¹¦");
-
- try {
- var result = JSON.parse(response);
-
- // ÌáÈ¡·þÎñÆ÷·µ»ØµÄÊý¾Ý
- if (result.json) {
- printl("\n·þÎñÆ÷ÊÕµ½µÄJSON:");
- printl(JSON.stringify(result.json, null, 2));
- }
-
- // ´´½¨»º´æ¶ÔÏó
- var cacheObject = {
- cachedAt: formatTimestamp(),
- requestId: result.headers ? result.headers["X-Request-Id"] : "unknown",
- data: result.json || requestData,
- responseSize: response.length
- };
-
- // ±£´æ»º´æ
- var cacheJson = JSON.stringify(cacheObject, null, 2);
- saveData(CACHE_PATH, cacheJson);
-
- printl("\n💾 Êý¾ÝÒÑ»º´æµ½: " + CACHE_PATH);
-
- } catch (parseError) {
- printl("JSON½âÎöʧ°Ü: " + parseError.toString());
- printl("ÔʼÏìÓ¦: " + response.substring(0, 200));
- }
- }
- } catch (error) {
- printl("❌ JSONÇëÇóʧ°Ü: " + error.toString());
- }
- }
- // =============================================================================
- // 4. ¶à½Ó¿Ú²¢·¢ÇëÇóÄ£Ä⣨´®ÐÐÖ´ÐУ©
- // =============================================================================
- function concurrentRequestsSimulation() {
- printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
- printl("⚡ Ä£¿é4: ¶à½Ó¿Ú²¢·¢ÇëÇóÄ£Äâ");
- printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
-
- var endpoints = [
- { name: "»ñÈ¡Headers", url: "https://httpbin.org/headers" },
- { name: "»ñÈ¡IP", url: "https://httpbin.org/ip" },
- { name: "»ñÈ¡User-Agent", url: "https://httpbin.org/user-agent" },
- { name: "ÑÓ³Ù²âÊÔ", url: "https://httpbin.org/delay/1" }
- ];
-
- var allResults = [];
- var totalStartTime = new Date().getTime();
-
- for (var i = 0; i < endpoints.length; i++) {
- var endpoint = endpoints[i];
- printl("\n[" + (i + 1) + "/" + endpoints.length + "] ÇëÇó: " + endpoint.name);
-
- try {
- var startTime = new Date().getTime();
- var http = new OkHttp();
- http.setTimeout(10000, 10000, 5000);
- http.setHeader("User-Agent", API_CONFIG.userAgent);
- http.setHeader("X-Request-Index", String(i));
-
- var response = http.get(endpoint.url);
- var endTime = new Date().getTime();
- var duration = endTime - startTime;
-
- var result = {
- index: i,
- name: endpoint.name,
- url: endpoint.url,
- success: response !== null,
- duration: duration,
- size: response ? response.length : 0,
- timestamp: formatTimestamp()
- };
-
- if (result.success) {
- printl(" ✅ Íê³É | " + duration + "ms | " + result.size + "×Ö½Ú");
-
- // ³¢ÊÔÌáÈ¡¹Ø¼üÐÅÏ¢
- try {
- var jsonResp = JSON.parse(response);
- if (jsonResp.origin) {
- printl(" 📍 IP: " + jsonResp.origin);
- }
- if (jsonResp["user-agent"]) {
- printl(" 🌐 UA: " + jsonResp["user-agent"].substring(0, 50));
- }
- } catch (e) {
- // ºöÂÔ½âÎö´íÎó
- }
- } else {
- printl(" ❌ ʧ°Ü | " + duration + "ms");
- }
-
- allResults.push(result);
- } catch (error) {
- printl(" ⚠️ Òì³£: " + error.toString().substring(0, 60));
- allResults.push({
- index: i,
- name: endpoint.name,
- success: false,
- duration: 0,
- error: error.toString()
- });
- }
- }
-
- var totalEndTime = new Date().getTime();
- var totalTime = totalEndTime - totalStartTime;
-
- // ͳ¼ÆÐÅÏ¢
- var successCount = 0;
- var totalDuration = 0;
- for (var j = 0; j < allResults.length; j++) {
- if (allResults[j].success) {
- successCount++;
- totalDuration += allResults[j].duration;
- }
- }
-
- printl("\n📊 ÇëÇóͳ¼Æ:");
- printl(" ×ÜÇëÇóÊý: " + endpoints.length);
- printl(" ³É¹¦Êý: " + successCount);
- printl(" ʧ°ÜÊý: " + (endpoints.length - successCount));
- printl(" ×ܺÄʱ: " + totalTime + "ms");
- printl(" ƽ¾ùºÄʱ: " + (successCount > 0 ? Math.round(totalDuration / successCount) : 0) + "ms");
-
- // ±£´æÍ³¼Æ½á¹û
- var statsReport = "²¢·¢ÇëÇóͳ¼Æ [" + formatTimestamp() + "]\n";
- statsReport += "========================================\n";
- statsReport += "×ÜÇëÇó: " + endpoints.length + " | ³É¹¦: " + successCount + " | ʧ°Ü: " + (endpoints.length - successCount) + "\n";
- statsReport += "×ܺÄʱ: " + totalTime + "ms\n";
- statsReport += "Ïêϸ½á¹û:\n";
- for (var k = 0; k < allResults.length; k++) {
- var r = allResults[k];
- statsReport += " [" + r.name + "] " + (r.success ? "✅" : "❌") + " " + r.duration + "ms\n";
- }
-
- saveData(DATA_PATH, statsReport);
- printl("\n📄 ͳ¼Æ±¨¸æÒѱ£´æ");
- }
- // =============================================================================
- // 5. Cookie»á»°¹ÜÀíÓë״̬±£³Ö
- // =============================================================================
- function cookieSessionManager() {
- printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
- printl("🍪 Ä£¿é5: Cookie»á»°¹ÜÀí");
- printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
-
- var http = new OkHttp();
- http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
- http.setCharset(API_CONFIG.charset);
- http.setHeader("User-Agent", API_CONFIG.userAgent);
-
- // ²½Öè1: ÉèÖÃCookie
- printl("\n²½Öè1: ÉèÖûỰCookie");
- try {
- var sessionId = "sess_" + Math.random().toString(36).substring(2, 15);
- var userId = "uid_" + Math.floor(Math.random() * 10000);
-
- var setUrl = "https://httpbin.org/cookies/set?session_id=" + sessionId + "&user_id=" + userId;
- var response1 = http.get(setUrl);
-
- if (response1) {
- printl("✅ CookieÉèÖÃÇëÇóÒÑ·¢ËÍ");
- printl(" Session ID: " + sessionId);
- printl(" User ID: " + userId);
- }
- } catch (error) {
- printl("❌ CookieÉèÖÃʧ°Ü: " + error.toString());
- }
-
- // ²½Öè2: »ñÈ¡µ±Ç°Cookie
- printl("\n²½Öè2: »ñÈ¡µ±Ç°Cookie");
- try {
- var cookies = http.getCookie();
- if (cookies && cookies.length > 0) {
- printl("✅ µ±Ç°Cookie:");
- printl(" " + cookies);
- } else {
- printl("ℹ️ δ»ñÈ¡µ½Cookie£¨Ä³Ð©·þÎñ¿ÉÄܲ»·µ»ØCookie£©");
- }
- } catch (error) {
- printl("⚠️ »ñÈ¡CookieÒì³£: " + error.toString());
- }
-
- // ²½Öè3: ÑéÖ¤CookieÊÇ·ñЯ´ø
- printl("\n²½Öè3: ÑéÖ¤CookieЯ´ø");
- try {
- var verifyUrl = "https://httpbin.org/cookies";
- var response3 = http.get(verifyUrl);
-
- if (response3) {
- printl("✅ CookieÑéÖ¤ÇëÇó³É¹¦");
-
- try {
- var cookieData = JSON.parse(response3);
- if (cookieData.cookies) {
- printl("·þÎñÆ÷ÊÕµ½µÄCookie:");
- printl(" " + JSON.stringify(cookieData.cookies, null, 2));
- }
- } catch (e) {
- printl("ÏìÓ¦Ô¤ÀÀ: " + response3.substring(0, 200));
- }
- }
- } catch (error) {
- printl("❌ CookieÑé֤ʧ°Ü: " + error.toString());
- }
-
- // ²½Öè4: Çå³ýCookie£¨Í¨¹ýÐÂʵÀý£©
- printl("\n²½Öè4: ´´½¨Ð»Ự£¨Çå³ý¾ÉCookie£©");
- try {
- var http2 = new OkHttp();
- http2.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
- http2.setHeader("User-Agent", API_CONFIG.userAgent);
-
- var cookies2 = http2.getCookie();
- if (!cookies2 || cookies2.length === 0) {
- printl("✅ лỰÎÞCookie£¨ÒѸôÀ룩");
- } else {
- printl("ℹ️ лỰCookie: " + cookies2);
- }
- } catch (error) {
- printl("⚠️ лỰ´´½¨Òì³£: " + error.toString());
- }
- }
- // =============================================================================
- // 6. ÖÇÄÜÖØÊÔ»úÖÆÓë´íÎó´¦Àí
- // =============================================================================
- function smartRetryMechanism() {
- printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
- printl("🔄 Ä£¿é6: ÖÇÄÜÖØÊÔ»úÖÆ");
- printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
-
- var testUrls = [
- "https://httpbin.org/status/200", // Õý³£
- "https://httpbin.org/status/404", // 404
- "https://invalid.domain.test", // ÎÞЧÓòÃû
- "https://httpbin.org/delay/2" // ÑÓ³Ù
- ];
-
- var maxRetries = 3;
- var retryDelay = 1000; // ºÁÃë
-
- for (var i = 0; i < testUrls.length; i++) {
- var url = testUrls[i];
- printl("\n²âÊÔURL [" + (i + 1) + "/" + testUrls.length + "]: " + url);
-
- var success = false;
- var lastError = null;
-
- for (var attempt = 1; attempt <= maxRetries; attempt++) {
- printl(" ³¢ÊÔ " + attempt + "/" + maxRetries + "...");
-
- try {
- var startTime = new Date().getTime();
- var http = new OkHttp();
- http.setTimeout(5000, 5000, 3000);
- http.setHeader("User-Agent", API_CONFIG.userAgent);
- http.setHeader("X-Retry-Attempt", String(attempt));
-
- var response = http.get(url);
- var endTime = new Date().getTime();
- var duration = endTime - startTime;
-
- // ¸Ä½øÅжÏ: response²»Îªnull¼´ÊÓΪÇëÇóÍê³É(¼´Ê¹ÄÚÈÝΪ¿Õ)
- if (response !== null && response !== undefined) {
- printl(" ✅ ³É¹¦ | ºÄʱ: " + duration + "ms | ´óС: " + response.length + "×Ö½Ú");
- success = true;
- break;
- } else {
- printl(" ⚠️ ÎÞÏìÓ¦¶ÔÏó | ºÄʱ: " + duration + "ms");
- lastError = "ÎÞÏìÓ¦¶ÔÏó";
- }
- } catch (error) {
- var errorMsg = error.toString().substring(0, 60);
- printl(" ❌ ʧ°Ü: " + errorMsg);
- lastError = errorMsg;
-
- // Èç¹ûÊÇ×îºóÒ»´Î³¢ÊÔ£¬²»Ôٵȴý
- if (attempt < maxRetries) {
- printl(" ⏳ µÈ´ý " + retryDelay + "ms ºóÖØÊÔ...");
- // ×¢Ò⣺ʵ¼ÊʹÓÃʱ¿ÉÄÜÐèÒªsleep£¬ÕâÀï¼ò»¯´¦Àí
- }
- }
- }
-
- if (!success) {
- printl(" 💥 ×îÖÕʧ°Ü£¬ÒÑÖØÊÔ " + maxRetries + " ´Î");
- printl(" ×îºó´íÎó: " + lastError);
- }
- }
-
- printl("\n📊 ÖØÊÔ»úÖÆ²âÊÔÍê³É");
- }
- // =============================================================================
- // 7. Á´Ê½µ÷ÓÃÓë¸ß¼¶ÅäÖÃ
- // =============================================================================
- function advancedChainCall() {
- printl("\n©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
- printl("⛓️ Ä£¿é7: Á´Ê½µ÷ÓÃÓë¸ß¼¶ÅäÖÃ");
- printl("©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥©¥");
-
- // ʾÀý1: ÍêÕûÅäÖõ÷ÓÃ
- printl("\nʾÀý1: ÍêÕûÅäÖõ÷ÓÃ");
- try {
- var http1 = new OkHttp();
- http1.setTimeout(8000, 8000, 5000);
- http1.setCharset("UTF-8");
- http1.setHeader("User-Agent", API_CONFIG.userAgent);
- http1.setHeader("Accept", "application/json");
- http1.setHeader("X-Custom-ID", "chain_test_001");
-
- var response1 = http1.get("https://httpbin.org/get");
-
- if (response1) {
- printl("✅ ÅäÖõ÷Óóɹ¦");
- printl("ÏìÓ¦³¤¶È: " + response1.length + " ×Ö½Ú");
-
- try {
- var data1 = JSON.parse(response1);
- if (data1.headers) {
- printl("ÇëÇóÍ·ÒÑ·¢Ë͵½·þÎñÆ÷");
- if (data1.headers["X-Custom-Id"]) {
- printl("×Ô¶¨ÒåÍ· X-Custom-ID: " + data1.headers["X-Custom-Id"]);
- }
- }
- } catch (e) {
- printl("ÏìÓ¦Ô¤ÀÀ: " + response1.substring(0, 150));
- }
- }
- } catch (error) {
- printl("❌ ÅäÖõ÷ÓÃʧ°Ü: " + error.toString());
- }
-
- // ʾÀý2: Ìõ¼þ»¯Á´Ê½µ÷ÓÃ
- printl("\nʾÀý2: Ìõ¼þ»¯ÅäÖÃ");
- try {
- var http = new OkHttp();
- http.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
- http.setCharset(API_CONFIG.charset);
- http.setHeader("User-Agent", API_CONFIG.userAgent);
-
- // ¸ù¾ÝÌõ¼þÌí¼Ó¶îÍâÍ·
- var useCompression = true;
- if (useCompression) {
- http.setHeader("Accept-Encoding", "gzip, deflate");
- printl("ÒÑÆôÓÃѹËõÖ§³Ö");
- }
-
- var enableCache = false;
- if (enableCache) {
- http.setHeader("Cache-Control", "max-age=3600");
- printl("ÒÑÆôÓûº´æ");
- } else {
- http.setHeader("Cache-Control", "no-cache");
- printl("ÒѽûÓûº´æ");
- }
-
- var response2 = http.get("https://httpbin.org/headers");
-
- if (response2) {
- printl("✅ Ìõ¼þ»¯ÅäÖÃÇëÇó³É¹¦");
- printl("ÏìÓ¦³¤¶È: " + response2.length + " ×Ö½Ú");
- }
- } catch (error) {
- printl("❌ Ìõ¼þ»¯ÅäÖÃʧ°Ü: " + error.toString());
- }
-
- // ʾÀý3: ÅúÁ¿ÇëÇóÅäÖø´ÓÃ
- printl("\nʾÀý3: ÅäÖø´ÓÃ");
- try {
- // ´´½¨»ù´¡ÅäÖÃ
- var baseHttp = new OkHttp();
- baseHttp.setTimeout(API_CONFIG.timeout, API_CONFIG.timeout, 5000);
- baseHttp.setCharset(API_CONFIG.charset);
- baseHttp.setHeader("User-Agent", API_CONFIG.userAgent);
- baseHttp.setHeader("X-Base-Config", "shared");
-
- printl("»ù´¡ÅäÖÃÒÑ´´½¨");
-
- // ¸´ÓÃÅäÖýøÐжà´ÎÇëÇó
- var urls = [
- "https://httpbin.org/get",
- "https://httpbin.org/ip",
- "https://httpbin.org/user-agent"
- ];
-
- for (var i = 0; i < urls.length; i++) {
- try {
- var resp = baseHttp.get(urls[i]);
- if (resp) {
- printl(" [" + (i + 1) + "/" + urls.length + "] ✅ ³É¹¦ | " + resp.length + "×Ö½Ú");
- } else {
- printl(" [" + (i + 1) + "/" + urls.length + "] ❌ ʧ°Ü");
- }
- } catch (e) {
- printl(" [" + (i + 1) + "/" + urls.length + "] ⚠️ Òì³£");
- }
- }
-
- printl("✅ ÅäÖø´ÓòâÊÔÍê³É");
- } catch (error) {
- printl("❌ ÅäÖø´ÓÃʧ°Ü: " + error.toString());
- }
- }
- // =============================================================================
- // Ö÷³ÌÐò - ÖÇÄÜAPI¼à¿ØÓë¹ÜÀí¹¤¾ß
- // =============================================================================
- function main() {
- 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¨[");
- printl("¨U AIWROK ÖÇÄÜAPI¼à¿ØÓë¹ÜÀí¹¤¾ß v2.0 ¨U");
- printl("¨U ¸ß¼¶ÍøÂçHTTP×ÛºÏʵսӦÓà ¨U");
- 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");
- printl("\nÆô¶¯Ê±¼ä: " + formatTimestamp());
- printl("Êý¾Ý·¾¶: " + DATA_PATH);
- printl("»º´æÂ·¾¶: " + CACHE_PATH);
- printl("\n¿ªÊ¼Ö´Ðи÷¸öÄ£¿é...\n");
-
- // Ö´ÐÐËùÓÐÄ£¿é
- apiHealthMonitor(); // Ä£¿é1: API½¡¿µ¼à¿Ø
- dynamicFormBuilder(); // Ä£¿é2: ¶¯Ì¬±íµ¥¹¹½¨
- jsonDataExchangeWithCache(); // Ä£¿é3: JSONÊý¾Ý½»»»Ó뻺´æ
- concurrentRequestsSimulation(); // Ä£¿é4: ¶à½Ó¿Ú²¢·¢ÇëÇó
- cookieSessionManager(); // Ä£¿é5: Cookie»á»°¹ÜÀí
- smartRetryMechanism(); // Ä£¿é6: ÖÇÄÜÖØÊÔ»úÖÆ
- advancedChainCall(); // Ä£¿é7: Á´Ê½µ÷ÓÃÓë¸ß¼¶ÅäÖÃ
-
- 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¨[");
- printl("¨U ËùÓÐÄ£¿éÖ´ÐÐÍê³É ¨U");
- 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");
- printl("\n💡 Ìáʾ:");
- printl(" • ¼à¿ØÊý¾ÝºÍͳ¼Æ±¨¸æÒѱ£´æµ½Îļþ");
- printl(" • ¿É¸ù¾Ýʵ¼ÊÐèÇóÐÞ¸ÄAPIµØÖ·ºÍ²ÎÊý");
- printl(" • ½¨ÒéÔÚÍøÂçÁ¼ºÃµÄ»·¾³ÏÂÔËÐÐ");
- printl(" • ²¿·Ö²âÊÔAPI¿ÉÄÜÐèÒª½Ï³¤Ê±¼äÏìÓ¦");
- printl("\n🎯 ±¾Ê¾ÀýչʾÁË:");
- printl(" ✓ API½¡¿µ¼à¿ØÓë×Ô¶¯»¯±¨¸æ");
- printl(" ✓ ¶¯Ì¬±íµ¥¹¹½¨ÓëPOSTÌá½»");
- printl(" ✓ JSONÊý¾Ý½»»»Óë±¾µØ»º´æ»úÖÆ");
- printl(" ✓ ¶à½Ó¿ÚÅúÁ¿ÇëÇóÓëͳ¼Æ·ÖÎö");
- printl(" ✓ Cookie»á»°¹ÜÀíÓë״̬±£³Ö");
- printl(" ✓ ÖÇÄÜÖØÊÔ»úÖÆÓë´íÎó´¦Àí");
- printl(" ✓ Á´Ê½µ÷ÓÃÓëÅäÖø´Óü¼ÇÉ");
- printl("\nÍê³Éʱ¼ä: " + formatTimestamp());
- }
- // Ö±½ÓÖ´ÐÐ
- main();
¸´ÖÆ´úÂë
|
|