يبدو هذا الاستدعاء في 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 على ذلك المسار.

مقالات ذات صلة