麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > 易語言 > 正文

易語言實現(xiàn)多線程驗證代理是否有效的代碼

2024-07-21 23:02:47
字體:
供稿:網(wǎng)友

載入程序

.版本 2.程序集 啟動.子程序 _啟動子程序, 整數(shù)型載入 (_主窗口, , 假)返回 (0)

多線程的方式驗證ip的代碼

此功能需要加載魚刺類_線程操作模塊和魚刺類_HTTP模塊

.版本 2.支持庫 iext.程序集 主窗口程序集.程序集變量 線程池, 魚刺類_線程池Ex, , , 框架.程序集變量 臨界, 魚刺類_臨界許可.程序集變量 線程, 魚刺類_線程操作.程序集變量 驗證網(wǎng)址, 文本型, , , 配置.程序集變量 驗證字符串, 文本型.程序集變量 是否UTF解碼, 邏輯型.程序集變量 連接超時, 整數(shù)型.程序集變量 驗證超時, 整數(shù)型.程序集變量 已完成數(shù)量, 整數(shù)型, , , 記錄.程序集變量 有效數(shù)量, 整數(shù)型.程序集變量 失效數(shù)量, 整數(shù)型.程序集變量 保證顯示索引, 整數(shù)型.子程序 _按鈕_測試_被單擊.局部變量 測試, 魚刺類_線程操作, 靜態(tài).局部變量 bool, 邏輯型按鈕_測試.禁止 = 真驗證網(wǎng)址 = 編輯框_驗證網(wǎng)址.內(nèi)容驗證字符串 = 編輯框_驗證字符串.內(nèi)容是否UTF解碼 = 選擇框_UTF解碼.選中.如果真 (驗證網(wǎng)址 = “” 或 驗證字符串 = “”)  信息框 (“網(wǎng)址或字符串填寫錯誤!”, 48 + 65536, )  按鈕_測試.禁止 = 假  返回 ().如果真結束bool = 測試.創(chuàng)建 (&測試驗證網(wǎng)址).如果真 (bool = 真)  測試.等待2 ()  .判斷開始 (測試.取返回值 () = 1) ' 利用線程返回狀態(tài)判斷測試是否成功    信息框 (“測試成功!驗證網(wǎng)址和關鍵字可用”, 64 + 65536, )  .默認    信息框 (“測試失敗!驗證網(wǎng)址和關鍵字符串不可用”, 48 + 65536, )  .判斷結束.如果真結束按鈕_測試.禁止 = 假.子程序 測試驗證網(wǎng)址, 整數(shù)型.局部變量 http, WinHttp.局部變量 str, 文本型http.Open (“GET”, 驗證網(wǎng)址)http.Set_User_Agent ()http.Send ().判斷開始 (是否UTF解碼 = 真)  str = http.GetResponseTextUtf8 ().默認  str = http.GetResponseText ().判斷結束.如果真 (尋找文本 (str, 驗證字符串, , 假) ≠ -1)  返回 (1) ' 返回狀態(tài)用于判斷是否成功.如果真結束返回 (0).子程序 _按鈕_導入_被單擊.局部變量 int, 整數(shù)型.局部變量 str, 文本型.局部變量 strs, 文本型, , "0".局部變量 ip, 文本型.局部變量 端口, 文本型.局部變量 o, 整數(shù)型通用對話框_瀏覽.類型 = 0通用對話框_瀏覽.過濾器 = “文本文檔(*.txt)|*.txt”.如果真 (通用對話框_瀏覽.打開 () = 假)  返回 ().如果真結束按鈕_導入.禁止 = 真int = 打開文件 (通用對話框_瀏覽.文件名, 1, ).如果真 (int = 0)  按鈕_導入.禁止 = 假  返回 ().如果真結束.判斷循環(huán)首 (是否在文件尾 (int, ) = 假)  str = 讀入一行 (int)  str = 刪首尾空 (str)  strs = 分割文本 (str, “:”, 2)  .如果真 (取數(shù)組成員數(shù) (strs) = 2)    ip = strs [1]    端口 = strs [2]    .如果真 (ip ≠ “” 且 端口 ≠ “”)      o = 列表_代理.插入表項 (, , , 0, , )      列表_代理.置標題 (o, 0, 到文本 (o + 1))      列表_代理.置標題 (o, 1, ip)      列表_代理.置標題 (o, 2, 端口)      列表_代理.置標題 (o, 3, “**”)      列表_代理.置標題 (o, 4, “-”)      _處理事件 ()    .如果真結束  .如果真結束.判斷循環(huán)尾 ()關閉文件 (int)狀態(tài)條_狀態(tài).置文本 (0, “代理總數(shù):” + 到文本 (列表_代理.取表項數(shù) ()))按鈕_導入.禁止 = 假.子程序 _按鈕_導出_被單擊.局部變量 bool, 邏輯型.局部變量 i, 整數(shù)型.局部變量 int, 整數(shù)型.局部變量 ip, 文本型.局部變量 端口, 文本型.局部變量 time, 文本型.局部變量 stop, 文本型.局部變量 text, 文本型.局部變量 len, 整數(shù)型.如果真 (列表_代理.取表項數(shù) () < 1)  信息框 (“沒代理可導出”, 48 + 65536, , )  返回 ().如果真結束bool = 信息框 (“是否只導出有效代理”, #是否鈕 + 48 + 65536, ) = #是鈕通用對話框_瀏覽.類型 = 1通用對話框_瀏覽.過濾器 = “文本文檔(*.txt)|*.txt”.如果真 (通用對話框_瀏覽.打開 () = 假)  返回 ().如果真結束按鈕_導出.禁止 = 真int = 打開文件 (通用對話框_瀏覽.文件名, 4, )移到文件尾 (int).變量循環(huán)首 (0, 列表_代理.取表項數(shù) () - 1, 1, i)  _處理事件 ()  stop = 列表_代理.取標題 (i, 4)  .如果真 (bool = 真 且 stop ≠ “驗證成功”)    到循環(huán)尾 ()  .如果真結束  ip = 列表_代理.取標題 (i, 1)  端口 = 列表_代理.取標題 (i, 2)  time = 列表_代理.取標題 (i, 3)  text = ip + “:” + 端口 + “----” + time  .如果真 (bool = 假)    text = text + “----” + stop  .如果真結束  寫文本行 (int, text)  len = len + 1.變量循環(huán)尾 ()關閉文件 (int)信息框 (“保存:” + 通用對話框_瀏覽.文件名 + “ 成功!” + #換行符 + “共導出:” + 到文本 (len) + “ 條。”, 64 + 65536, )按鈕_導出.禁止 = 假.子程序 _按鈕_開始停止_被單擊.局部變量 text, 文本型.局部變量 bool, 邏輯型.局部變量 len, 整數(shù)型按鈕_開始停止.禁止 = 真text = 按鈕_開始停止.標題.判斷開始 (text = “開始驗證”)  len = 列表_代理.取表項數(shù) ()  .如果真 (len < 1)    信息框 (“請先導入要驗證的代理”, 48 + 65536, )    按鈕_開始停止.禁止 = 假    返回 ()  .如果真結束  驗證網(wǎng)址 = 刪首尾空 (編輯框_驗證網(wǎng)址.內(nèi)容)  驗證字符串 = 編輯框_驗證字符串.內(nèi)容  .如果真 (驗證網(wǎng)址 = “” 或 驗證字符串 = “”)    信息框 (“驗證網(wǎng)址或字符串不正確!”, 48 + 65536, )    按鈕_開始停止.禁止 = 假    返回 ()  .如果真結束  是否UTF解碼 = 選擇框_UTF解碼.選中  連接超時 = 到整數(shù) (編輯框_連接超時.內(nèi)容)  驗證超時 = 到整數(shù) (編輯框_驗證超時.內(nèi)容)  連續(xù)賦值 (0, 已完成數(shù)量, 有效數(shù)量, 失效數(shù)量, 保證顯示索引)  更新狀態(tài)條 ()  bool = 線程.創(chuàng)建 (&工作)  .如果真 (bool = 真)    返回 ()  .如果真結束.判斷 (text = “停止驗證”)  按鈕_開始停止.標題 = “正在停止”  按鈕_暫停繼續(xù).禁止 = 真  按鈕_暫停繼續(xù).標題 = “暫停驗證”  線程池.銷毀 (0)  線程.等待2 ()  按鈕_開始停止.標題 = “開始驗證”.默認.判斷結束按鈕_開始停止.禁止 = 假.子程序 _按鈕_暫停繼續(xù)_被單擊.局部變量 text, 文本型按鈕_暫停繼續(xù).禁止 = 真text = 按鈕_暫停繼續(xù).標題.判斷開始 (text = “暫停驗證”)  線程池.暫停 ()  按鈕_暫停繼續(xù).標題 = “繼續(xù)驗證”.判斷 (text = “繼續(xù)驗證”)  線程池.繼續(xù) ()  按鈕_暫停繼續(xù).標題 = “暫停驗證”.默認.判斷結束按鈕_暫停繼續(xù).禁止 = 假.子程序 工作.局部變量 并發(fā)線程數(shù), 整數(shù)型.局部變量 bool, 邏輯型.局部變量 len, 整數(shù)型.局部變量 i, 整數(shù)型.局部變量 空閑線程數(shù), 整數(shù)型.局部變量 int, 整數(shù)型按鈕_開始停止.標題 = “正在啟動”.如果真 (連接超時 < 500)  連接超時 = 500.如果真結束.如果真 (驗證超時 < 500)  驗證超時 = 500.如果真結束臨界.進入 ()并發(fā)線程數(shù) = 到整數(shù) (編輯框_并發(fā)線程數(shù).內(nèi)容)臨界.退出 ().如果真 (并發(fā)線程數(shù) < 1)  并發(fā)線程數(shù) = 1.如果真結束bool = 線程池.創(chuàng)建 (并發(fā)線程數(shù)).如果真 (bool = 假)  臨界.進入 ()  按鈕_開始停止.標題 = “開始驗證”  按鈕_開始停止.禁止 = 假  臨界.退出 ()  返回 ().如果真結束臨界.進入 ()按鈕_開始停止.標題 = “停止驗證”按鈕_開始停止.禁止 = 假按鈕_暫停繼續(xù).標題 = “暫停驗證”按鈕_暫停繼續(xù).禁止 = 假len = 列表_代理.取表項數(shù) () - 1 ' 列表索引從0開始臨界.退出 ()i = 0.判斷循環(huán)首 (i ≤ len)  空閑線程數(shù) = 線程池.取_空閑線程數(shù) ()  .如果真 (空閑線程數(shù) > 0)    int = len - i + 1    .如果真 (int > 空閑線程數(shù))      int = 空閑線程數(shù)    .如果真結束    .計次循環(huán)首 (int, )      線程池.投遞任務 (&驗證子程序, i)      i = i + 1    .計次循環(huán)尾 ()  .如果真結束  bool = 線程池.等待任務動態(tài) ()  .如果真 (bool = 假) ' 返回假 表示線程池被執(zhí)行銷毀 也表示用戶手動點了停止    返回 ()  .如果真結束  更新狀態(tài)條 ().判斷循環(huán)尾 ()' 等待剩余任務執(zhí)行完畢.判斷循環(huán)首 (線程池.取_是否空閑 () = 假)  .如果真 (線程池.取_狀態(tài) () ≠ #線程池_正在工作)    返回 ()  .如果真結束  bool = 線程池.等待任務動態(tài) (100)  .如果真 (bool = 真)    更新狀態(tài)條 ()  .如果真結束.判斷循環(huán)尾 ()更新狀態(tài)條 ()' 執(zhí)行停止臨界.進入 ()按鈕_開始停止.禁止 = 真按鈕_開始停止.標題 = “正在停止”按鈕_暫停繼續(xù).禁止 = 真按鈕_暫停繼續(xù).標題 = “暫停驗證”臨界.退出 ()線程池.銷毀 (0)信息框 (“驗證完畢!” + #換行符 + “有效代理:” + 到文本 (有效數(shù)量) + #換行符 + “失效代理:” + 到文本 (失效數(shù)量), 64 + 65536, )臨界.進入 ()按鈕_開始停止.標題 = “開始驗證”按鈕_開始停止.禁止 = 假臨界.退出 ().子程序 驗證子程序.參數(shù) i, 整數(shù)型.局部變量 ip地址, 文本型.局部變量 端口, 文本型.局部變量 http, WinHttp.局部變量 str, 文本型.局部變量 time, 整數(shù)型.局部變量 timing, 整數(shù)型.局部變量 bool, 邏輯型.如果真 (線程池.取_狀態(tài) () ≠ #線程池_正在工作)  返回 ().如果真結束臨界.進入 ()ip地址 = 列表_代理.取標題 (i, 1)端口 = 列表_代理.取標題 (i, 2)臨界.退出 ().如果真 (ip地址 = “” 或 端口 = “”)  原子_遞增 (已完成數(shù)量)  返回 ().如果真結束time = 取啟動時間 ()http.SetProxy (2, ip地址 + “:” + 端口)http.SetTimeouts (連接超時, 連接超時, 驗證超時, 驗證超時)http.Open (“GET”, 驗證網(wǎng)址, 真)http.Set_User_Agent ()http.Send ()timing = 驗證超時 \ 1000 + 選擇 (驗證超時 % 1000 > 0, 1, 0).計次循環(huán)首 (timing, ) ' 這樣寫是為了能快速相應停止  bool = http.WaitForResponse (1) ' 單位 秒  .如果真 (bool = 真)    跳出循環(huán) ()  .如果真結束  .如果真 (線程池.取_狀態(tài) () ≠ #線程池_正在工作) ' 當用戶手動停止時 線程池狀態(tài)就變了 這樣就能觸發(fā)返回了    http.Abort () ' 終止連接    原子_遞增 (已完成數(shù)量)    返回 ()  .如果真結束.計次循環(huán)尾 ()time = 取啟動時間 () - time ' 算出超時.判斷開始 (bool = 真)  .判斷開始 (是否UTF解碼 = 真)    str = http.GetResponseTextUtf8 ()  .默認    str = http.GetResponseText ()  .判斷結束.默認  http.Abort ().判斷結束.判斷開始 (str = “”)  原子_遞增 (失效數(shù)量)  設置表象 (i, “*/*”, 選擇 (time > 連接超時, “驗證失敗”, “連接超時”), 2).判斷 (尋找文本 (str, 驗證字符串, , 假) ≠ -1)  原子_遞增 (有效數(shù)量)  設置表象 (i, 到文本 (time), “驗證成功”, 選擇 (time < 10000, 1, 3)).默認  原子_遞增 (失效數(shù)量)  設置表象 (i, “*/*”, “驗證失敗”, 2).判斷結束原子_遞增 (已完成數(shù)量).子程序 設置表象.參數(shù) index, 整數(shù)型.參數(shù) time, 文本型.參數(shù) stop, 文本型.參數(shù) State, 整數(shù)型臨界.進入 ()列表_代理.置標題 (index, 3, time)列表_代理.置標題 (index, 4, stop)列表_代理.置狀態(tài)圖片 (index, State).如果真 (index > 保證顯示索引)  列表_代理.保證顯示 (index + 1)  保證顯示索引 = index + 1.如果真結束臨界.退出 ().子程序 更新狀態(tài)條臨界.進入 ()狀態(tài)條_狀態(tài).置文本 (1, “已完成驗證:” + 到文本 (已完成數(shù)量))狀態(tài)條_狀態(tài).置文本 (2, “有效代理數(shù):” + 到文本 (有效數(shù)量))狀態(tài)條_狀態(tài).置文本 (3, “失效代理數(shù):” + 到文本 (失效數(shù)量))臨界.退出 ().子程序 __主窗口_將被銷毀線程池.銷毀 ()' 防止用戶意外點擊紅叉叉

運行結果:

易語言,ip,代理,驗證,多線程

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關教程知識閱讀請移步到易語言教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美成人免费 | 99爱在线免费观看 | 国产精品视频六区 | 哪里可以看免费的av | 黄色免费不卡视频 | 亚洲一级片在线观看 | 成人男男视频拍拍拍在线观看 | 激情综合在线 | 毛片在线视频观看 | 欧美激情在线播放 | 欧美一级毛片大片免费播放 | 草莓视频久久 | 黄色作爱视频 | 正在播放91精 | 久久精品com| 亚洲二区三区在线 | 午夜在线观看视频网站 | 高清av免费| 欧美黄色一级片在线观看 | 欧美精品久久久久久久久久 | 日韩一级免费毛片 | av中文字幕免费在线观看 | 日韩视频在线不卡 | h视频免费观看 | av亚洲在线观看 | 久久99精品久久久久久久久久久久 | 国产精品免费麻豆入口 | 亚洲一区二区三区视频 | 9999视频| 成人免费福利视频 | 免费国产一级特黄久久 | 伊人久操视频 | 亚州综合一区 | 国产美女爽到喷白浆的 | 粉嫩蜜桃麻豆免费大片 | 青青草免费观看 | 黄www片| 中文字幕综合在线观看 | 久久精品中文 | 亚洲小视频网站 | 免费国产wwwwwww网站 |