આ VBA કૉલ એવું લાગે છે કે તે proxyServer માં સંગ્રહિત પ્રોક્સી પસંદ કરે છે:

http.setProxy 1, proxyServer, bypassList

MSXML ServerXMLHTTP માટે પ્રથમ આર્ગ્યુમેન્ટ પ્રોક્સી મોડ પસંદ કરે છે. દસ્તાવેજીકૃત મૂલ્યો 0 ડિફોલ્ટ રૂપરેખાંકન માટે, 1 સીધા કનેક્શન માટે અને 2 સ્પષ્ટ રીતે આપેલ પ્રોક્સી માટે છે. 1 પછી સરનામું આપવાથી સીધો મોડ મેન્યુઅલ પ્રોક્સી મોડ બનતો નથી.

મેન્યુઅલ પ્રોક્સીનું ન્યૂનતમ ઉદાહરણ આ છે:

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

ઉદાહરણનું એન્ડપોઇન્ટ પ્લેસહોલ્ડર છે. જાહેર પ્રોક્સી તપાસ માટે તેને HTTP પ્રોક્સી યાદીમાંથી HTTP સરનામાથી બદલો. ત્રીજું આર્ગ્યુમેન્ટ બાયપાસ યાદી છે; અહીં <local> દસ્તાવેજીકૃત સ્થાનિક-નામ અપવાદ વાપરે છે. પ્રથમ નિષ્ફળ જાય તો પ્રયત્ન કરવાની આ બીજી પ્રોક્સી નથી. તેથી ત્યાં બીજી પ્રોક્સીનું IP અને પોર્ટ મૂકવું ખોટા પ્રકારનું સેટિંગ દર્શાવે છે.

તમારા VBA સંદર્ભો જ્યાં નામાંકિત કોન્સ્ટન્ટ આપે ત્યાં તે વાપરો, અથવા લેટ બાઇન્ડિંગ વાપરતી વખતે સંબંધિત કોન્સ્ટન્ટ સ્થાનિક રીતે વ્યાખ્યાયિત કરો, જેથી સમીક્ષા દરમિયાન મોડ દૃશ્યમાન રહે.

ઑબ્જેક્ટનો પ્રકાર પણ ધ્યાનમાં રાખો. ServerXMLHTTP, બ્રાઉઝર-લક્ષી XMLHTTP અને WinHttpRequest જુદા જુદા COM ઇન્ટરફેસ છે. એક માટે કામ કરતું ઉદાહરણ બીજાનો રૂપરેખાંકન સ્રોત સાબિત કરતું નથી. યોગ્ય ઑબ્જેક્ટ મેન્યુઅલ પ્રોક્સી મોડ પસંદ કરે પછી તે માર્ગ પર બાકી રહેલી કોઈપણ કનેક્શન, પ્રમાણીકરણ કે TLS ભૂલ તપાસો.

સંબંધિત લેખો