Автор Тема: Проверка списка прокси из текстового файла  (Прочитано 77161 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

GenoTIP

  • Гость
Почему-то при любом правильном и не правильном прокси в первой строке текстового файла всегда выводится "Первая строка рабочая " подскажите где условие не правильное, что он не перебирает прокси.. а пробует только ту, что первая. Причем прокси так и не ставиться - в реестр забивается, а толку 0, до этого использовал эту же функцию установки прокси иначе и все было ок.

Код: AutoIt [Выделить]
#RequireAdmin
#include <file.au3>
#include <array.au3>
#include <ie.au3>
;http://autoit-script.ru/index.php/topic,3214.0.html
OnAutoItExitRegister("_Exit")
_Save()

;загружаем прокси
Dim $aProxies
If Not _FileReadToArray(@ScriptDir & "\replacement.txt", $aProxies) Then
    MsgBox(4096, "Error", " Error reading log to Array     error:" & @error)
    Exit
EndIf

$sURL = "http://www.admuncher.com/"
$i_Proxy = 1
$ok = 0
_ProxyChange($aProxies[$i_Proxy])
Sleep(500)
_GetHTML($sURL)

Func _GetHTML($sURL, $sSendParam = "")
    $i_Proxy = 1
    $ok = 0
    Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
    $oHTTP.Open("GET", $sURL)
    $oHTTP.SetRequestHeader("Content-Type", "text/html")
    $oHTTP.SetRequestHeader("Accept", "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/msword, */*")
    $oHTTP.SetRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)")
    $oHTTP.SetRequestHeader("Host", "www.admuncher.com")
    $oHTTP.SetRequestHeader("Accept-Language", "ru")
    $oHTTP.Send
    If (@error) Or ($oHTTP.Status <> 200) Then
        While $ok <> 1
            $i_Proxy += 1
            _ProxyChange($aProxies[$i_Proxy])
            Local $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
            $oHTTP.Open("GET", $sURL)
            $oHTTP.SetRequestHeader("Content-Type", "text/html")
            $oHTTP.SetRequestHeader("Accept", "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/msword, */*")
            $oHTTP.SetRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)")
            $oHTTP.SetRequestHeader("Host", "www.admuncher.com")
            $oHTTP.SetRequestHeader("Accept-Language", "ru")
            $oHTTP.Send
                If (not @error) Then
                    ConsoleWrite($aProxies[$i_Proxy] & @LF)
                    $ok = 1
                EndIf
            Sleep(200)
        WEnd
        MsgBox(0, '', 'Error!')
        Return SetError(1, 0, '')
    Else
        ConsoleWrite('Первая строка рабочая ' & $aProxies[$i_Proxy] & @LF)
        ;Return $oHTTP.ResponseText
    EndIf
EndFunc   ;==>_GetHTML
Exit



;Меняем прокси
Func _ProxyChange($sProxy = '')
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyServer", "REG_SZ", $sProxy)
EndFunc   ;==>_ProxyChange

;Сохраняем значения прокси
Func _Save()
    Global $sProxyEnable = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable")
    Global $sProxyServer = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyServer")
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", "REG_DWORD", 1)
EndFunc   ;==>_Save

;Загружаем значения прокси
Func _Load()
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyEnable", "REG_DWORD", $sProxyEnable)
    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyServer", "REG_SZ", $sProxyServer)
EndFunc   ;==>_Load

;По выходу загружаем сохраненные настройки прокси
Func _Exit()
    _Load()
    MsgBox(0, 0, "Вышли из программы")
    Exit
EndFunc   ;==>_Exit
 


Русское сообщество AutoIt

Проверка списка прокси из текстового файла
« Отправлен: Май 17, 2012, 14:48:23 »

Оффлайн ---Zak--- [?]

  • Скриптер
  • ****
  • Сообщений: 438
  • Репутация: 111
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
(нажмите для показа/скрытия)

ЗЫ: это вот под циклом...
ЗЫЫ: лично у меня прокси прописывается и в реестре и в IE.
OS: WinXp SP3 (RUS), Win7 (x86/x64)


My development:
http://autoit-script.ru/index.php/topic,11541.0.html

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2317
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
GenoTIP,
ИМХО, так проще правильнее задать прокси:
Код: AutoIt [Выделить]
;...
$oHTTP.setProxy(2, '111.111.111.111:8080')
;...

« Последнее редактирование: Май 17, 2012, 16:37:25 от madmasles »

GenoTIP

  • Гость
---Zak---
почему-то всему присваивается - ОК, видимо прокси не ставится опятьже.. заходит на сайт с моего ip
--
прокси само прописывается нормально лишь в реестр,а так толку 0


Добавлено: Май 17, 2012, 17:59:58
Вот как работает нормально, но как сделать проверку на время выполнения скрипта, то есть если прокси к примеру грузится секунд 5, то пробовать следующее, а так по секунд 30 на каждое уходит(
или как не подгружать весь сайт, а просто отправлять один пакет, если все ок - то прокси рабочая

Код: AutoIt [Выделить]
For $i_Proxy = 1 to $aProxies[0]
    Global $ProxyServer = $aProxies[$i_Proxy]
    Global $oHttp = ObjCreate ("WinHttp.WinHttpRequest.5.1")
    $oHttp.SetProxy(2,$ProxyServer)
    httpget("http://www.ru",$ProxyServer) ;http://www.guimp.com/
Next


func httpget($url,$ProxyServer)
    $sTimer = TimerInit()
    $status = $oHttp.Open("GET", $url,false)
    Execute("$oHttp.Send()")
    if @error Or $oHttp.Status <> 200 then
        SetError(1)
    Else
        SetError(0)
        FileWrite("good_proxy.txt",$ProxyServer&@CRLF)
    EndIf
EndFunc

« Последнее редактирование: Май 17, 2012, 18:00:26 от GenoTIP, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: Проверка списка прокси из текстового файла
« Ответ #3 Отправлен: Май 17, 2012, 16:27:27 »

Оффлайн joker2d [?]

  • Новичок
  • *
  • Сообщений: 161
  • Репутация: 0
    • Награды
---Zak---
GenoTIP

Использовал ваши примеры в Windows 7 32-bit
Со сменой прокси в браузере и в реестре проблем нет, но когда ставлю заведомо не рабочий прокси все равно пишет ОК
В чем может быть проблема ?

Проверял в браузере прокси точно не работает

Русское сообщество AutoIt

Re: Проверка списка прокси из текстового файла
« Ответ #4 Отправлен: Май 20, 2013, 12:51:10 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
14 Ответов
8718 Просмотров
Последний ответ Декабрь 01, 2012, 22:02:38
от Belfigor
8 Ответов
5166 Просмотров
Последний ответ Сентябрь 10, 2010, 10:06:45
от CreatoR
20 Ответов
9635 Просмотров
Последний ответ Декабрь 30, 2010, 00:47:15
от MockeR
3 Ответов
3981 Просмотров
Последний ответ Апрель 07, 2011, 16:40:32
от madmasles
11 Ответов
5932 Просмотров
Последний ответ Сентябрь 26, 2011, 07:22:46
от madmasles
1 Ответов
3279 Просмотров
Последний ответ Февраль 09, 2012, 15:05:12
от Yuriy
2 Ответов
2633 Просмотров
Последний ответ Июль 12, 2012, 17:09:05
от _Lexa98_
4 Ответов
2398 Просмотров
Последний ответ Январь 18, 2013, 12:17:00
от exHalfer
6 Ответов
3202 Просмотров
Последний ответ Июль 06, 2013, 00:10:22
от AZJIO
8 Ответов
3604 Просмотров
Последний ответ Август 21, 2013, 23:51:43
от Arbios