ServerXMLHTTP setProxy: rejim 1 birbaşa bağlantı seçir
Düzgün ServerXMLHTTP proxy rejimi sabitindən istifadə edin və bypass siyahısını alternativ proxy son nöqtələrindən ayrı saxlayın.
Bu VBA çağırışı proxyServer daxilində saxlanılan proxy-ni seçirmiş kimi görünür:
http.setProxy 1, proxyServer, bypassList
MSXML ServerXMLHTTP üçün birinci arqument proxy rejimini seçir. Sənədləşdirilmiş dəyərlər default konfiqurasiya üçün 0, birbaşa bağlantı üçün 1 və açıq şəkildə verilən proxy üçün 2-dir. 1-dən sonra ünvan ötürmək birbaşa rejimi əl ilə proxy rejiminə çevirmir.
Əl ilə proxy üçün minimal nümunə belədir:
Dim http As Object
Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.setProxy 2, "proxy.example:8080", "<local>"
http.Open "GET", "https://example.com/", False
http.send
Nümunədəki son nöqtə yer tutucudur. İctimai proxy yoxlaması üçün onu HTTP proxy siyahısından bir HTTP ünvanı ilə əvəz edin. Üçüncü arqument bypass siyahısıdır; burada <local> sənədləşdirilmiş yerli ad istisnasından istifadə edir. Birincisi uğursuz olarsa sınanacaq ikinci proxy deyil. Ona görə də ora başqa proxy-nin IP və portunu yazmaq yanlış tənzimləmə növünü ifadə edir.
VBA istinadlarınızın açıq verdiyi yerlərdə adlandırılmış sabitlərdən istifadə edin və ya gec bağlamadan istifadə edərkən uyğun sabiti yerli olaraq təyin edin ki, rejim yoxlama zamanı görünsün.
Obyekt tipini də nəzərdən qaçırmayın. ServerXMLHTTP, brauzerə yönəlmiş XMLHTTP və WinHttpRequest fərqli COM interfeysləridir. Birinin işləyən nümunəsi digərinin konfiqurasiya mənbəyini təsdiqləmir. Düzgün obyekt əl ilə proxy rejimini seçdikdən sonra həmin marşrutda qalan hər hansı bağlantı, autentifikasiya və ya TLS xətasını araşdırın.