|

30精币
在多线程请求API中,我使用24条线程请求200次,跟单条线程请求200次,时间相差不大。有大佬了解不
窗口程序集名 | 保 留 | 保 留 | 备 注 | (未填写程序集名) | | | | 变量名 | 类 型 | 数组 | 备 注 | 变量名 | 类 型 | 数组 | 备 注 | 线程池 | 鱼刺类_线程池 | | 单号数组 | 文本型 | 0 | transId | 文本型 | | transactionSrc | 文本型 | | OAuthToken是否取得 | 逻辑型 | | token_type | 文本型 | | access_token | 文本型 | |
单号数组 = 分割文本 (取剪辑板文本 (), #换行符, )启动线程 (&主线程, , )变量名 | 类 型 | 静态 | 数组 | 备 注 | 剩余任务数 | 整数型 | | | 总任务数 | 整数型 | | | i | 整数型 | | | temp_线程池 | 鱼刺类_线程池 | | | n | 逻辑型 | | | jy_GetToken | 类_json | | | TokenError | 文本型 | | | 返回的Token | 文本型 | | |
transId = “ID”transactionSrc = “SCR” 如果真 (OAuthToken是否取得 = 假) 返回的Token = ups_GetAccessToken (transId, transactionSrc ) jy_GetToken. 解析 (返回的Token ) token_type = jy_GetToken. 取通用属性 (“['token_type']”) access_token = jy_GetToken. 取通用属性 (“['access_token']”) OAuthToken是否取得 = 真  线程池. 创建 (24, , , ) 总任务数 = 200 计次循环首 (总任务数, i )  线程池. 投递任务 (&API请求方法, i, ) 计次循环尾 () 判断循环首 (线程池. 取_是否完全空闲 () = 假) 剩余任务数 = 线程池. 取_执行线程数 () + 线程池. 取_队列任务数 () 判断循环尾 ()调试输出 (“这是第:” + 到文本 (参_附加参数 ) + “>>线程”)待解析Json = ups_抓包_详细数据 (单号数组 [参_附加参数 ], “zh_CN”) |
ups_抓包_详细数据 | 文本型 | | |
待抓取单号 | 文本型 | | | | 语言 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_网址 | 文本型 | | | 局_方式 | 整数型 | | | 局_提交数据 | 文本型 | | | ADD_协议头 | 类_POST数据类 | | | 局_提交协议头 | 文本型 | | | 局_结果 | 字节集 | | | 局_返回 | 文本型 | | | TarckerNumber | 文本型 | | | jy | 类_json | | | 返回单号 | 文本型 | | | 返回最新轨迹 | 文本型 | | |
局_网址 = “https://onlinetools.ups.com/api/track/v1/details/{” + 待抓取单号 + “}?locale=” + 语言 + “&returnSignature=false”局_方式 = 0 ADD_协议头. 添加 (“Authorization”, token_type + “ ” + access_token )ADD_协议头. 添加 (“Content-Type”, “application/json”)ADD_协议头. 添加 (“transId”, transId )ADD_协议头. 添加 (“transactionSrc”, transactionSrc )局_提交协议头 = ADD_协议头. 获取协议头数据 ()局_提交协议头 = ADD_协议头. 获取协议头数据 ()局_结果 = 网页_访问 (局_网址, 局_方式, , , , 局_提交协议头, , , , , )局_返回 = 到文本 (编码_编码转换对象 (局_结果 )) jy. 解析 (局_返回 )返回单号 = JY. 取通用属性 (“trackResponse.shipment[0].inquiryNumber”) 返回最新轨迹 = jy. 取通用属性 (“trackResponse.shipment[0]['package'][0].currentStatus.description”)调试输出 (返回单号, 返回最新轨迹, 取现行时间 ()) 返回 (局_返回 )|
ups_GetAccessToken | 文本型 | | |
transId | 文本型 | | | | transactionSrc | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_网址 | 文本型 | | | 局_方式 | 整数型 | | | 局_提交数据 | 文本型 | | | ADD_协议头 | 类_POST数据类 | | | 局_提交协议头 | 文本型 | | | 局_结果 | 字节集 | | | 局_返回 | 文本型 | | |
局_网址 = “https://onlinetools.ups.com/security/v1/oauth/token”局_方式 = 1 局_提交数据 = “grant_type=client_credentials”ADD_协议头. 添加 (“Content-Type”, “application/x-www-form-urlencoded”)ADD_协议头. 添加 (“x-merchant-id”, “string”)ADD_协议头. 添加 (“Authorization”, “Basic” + “ ” + 编码_BASE64编码 (到字节集 (transId + “:” + transactionSrc )) )ADD_协议头. 添加 (“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko”)局_提交协议头 = ADD_协议头. 获取协议头数据 ()局_结果 = 网页_访问 (局_网址, 局_方式, , , , 局_提交协议头, , , 到字节集 (局_提交数据 ), , )局_返回 = 到文本 (编码_编码转换对象 (局_结果 )) 返回 (局_返回 )
|
|