Этот код проверяет заданного доступность прокси сервера при помощи функции CheckProxyServer:
Sub ПримерПроверкиПроксиСервера()
myProxy$ = "212.45.5.172:3128"
If CheckProxyServer(myProxy$) Then
MsgBox "Прокси сервер с адресом " & myProxy$ & " доступен!", vbInformation
Else
MsgBox "Прокси сервер с адресом " & myProxy$ & " недоступен!", vbExclamation
End If
End Sub
Прокси-сервер (Proxy Server) позволяет скрыть ваш IP адрес, что позволяет вам выполнять запросы к одному и тому же серверу как-бы с разных компьютеров.
Это может быть полезно при выполнении многократных запросов к серверам типа Яндекс и Google,
которые блокируют автоматические запросы от программы по истечении некоторого времени.
Загрузить список прокси-серверов вам поможет этот код: http://excelvba.ru/code/ProxyServersList
Код функции CheckProxyServer:
Function CheckProxyServer(ByVal Proxy$) As Boolean
' функция проверяет работоспособность прокси сервера Proxy$,
' выполняя запрос IP на сайте internet.yandex.ru
' Если Яндекс возвращает IP адрес прокси-сервера в течение
' непродолжительного времени, считаем данный прокси-сервер рабочим
' Функция возвращает TRUE, если прокси сервер рабочий
On Error Resume Next: Err.Clear
With CreateObject("MSXML2.ServerXMLHTTP.6.0")
.setProxy 2, Proxy$
.Open "GET", "http://internet.yandex.ru/", False
.setTimeouts 10000, 10000, 10000, 10000
.send ("")
txt = Split(Split(.responseText, "Мой IP: ")(1), "<")(0)
End With
CheckProxyServer = (Proxy$ Like txt & ":*") And (Err = 0)
End Function