最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年11月28日 14:39:35   作者:易語言源碼教程  
今天小編就為大家分享一篇關于易語言實現(xiàn)多線程驗證代理是否有效的代碼,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

載入程序

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

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

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

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

運行結果:

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • 易語言修改當前窗口的邊框樣式

    易語言修改當前窗口的邊框樣式

    今天小編就為大家分享一篇關于易語言修改當前窗口的邊框樣式,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言取星期幾的方法總結

    易語言取星期幾的方法總結

    在本篇內容里小編給大家分享的是關于易語言取星期幾的方法和操作步驟,需要的朋友們可以參考下。
    2018-12-12
  • 易語言數據庫操作中“取當前索引”命令詳解

    易語言數據庫操作中“取當前索引”命令詳解

    在本篇文章里小編給大家分享了關于易語言數據庫操作中“取當前索引”命令詳解,需要的朋友們可以參考下。
    2020-04-04
  • 易語言不用投遞消息隨意移動控件的代碼

    易語言不用投遞消息隨意移動控件的代碼

    今天小編就為大家分享一篇關于易語言不用投遞消息隨意移動控件的代碼,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言求余數命令使用講解

    易語言求余數命令使用講解

    今天小編就為大家分享一篇關于易語言求余數命令使用講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言重定義數組命令使用講解

    易語言重定義數組命令使用講解

    今天小編就為大家分享一篇關于易語言重定義數組命令使用講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 淺析易語言的特點

    淺析易語言的特點

    在本文里小編整理了關于易語言作為另類編程語言的特點,有興趣的讀者們閱讀下。
    2018-11-11
  • 易語言注冊自定義協(xié)議Register protocol

    易語言注冊自定義協(xié)議Register protocol

    今天小編就為大家分享一篇關于易語言注冊自定義協(xié)議Register protocol,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言超文本組件使用詳解

    易語言超文本組件使用詳解

    在本篇內容中小編為大家分享了關于易語言簡單超文本框組件怎么使用的知識點,需要的朋友們可以學習下。
    2019-01-01
  • 易語言制作IP代理程序教學

    易語言制作IP代理程序教學

    在本篇文章里小編給大家分享了關于易語言制作IP代理程序教學內容,對此有興趣的朋友們學習下。
    2019-01-01

最新評論

丹阳市| 舟山市| 鄄城县| 凤台县| 宣汉县| 镇巴县| 盐亭县| 郁南县| 东丽区| 泽普县| 綦江县| 宜春市| 冀州市| 霍林郭勒市| 丹东市| 林周县| 渑池县| 宣武区| 汉寿县| 朔州市| 三台县| 大同市| 英吉沙县| 尼勒克县| 静宁县| 罗甸县| 资兴市| 迁安市| 安溪县| 乌海市| 界首市| 雅安市| 积石山| 涡阳县| 信宜市| 旬阳县| 罗山县| 泾川县| 玛沁县| 鹿邑县| 威远县|