برای برنامه‌ای که از groovyx.net.http.HTTPBuilder کلاسیک استفاده می‌کند، مسیر را روی سازنده و حساب پروکسی را روی ارائه‌دهنده اعتبارنامه کلاینت Apache HTTP آن تنظیم کنید:

import groovyx.net.http.HTTPBuilder
import org.apache.http.auth.AuthScope
import org.apache.http.auth.UsernamePasswordCredentials

def http = new HTTPBuilder('https://api.example.net')
http.setProxy('proxy.example.net', 8080, 'http')

http.client.credentialsProvider.setCredentials(
    new AuthScope('proxy.example.net', 8080),
    new UsernamePasswordCredentials(proxyUser, proxyPassword)
)

متغیرهای اعتبارنامه از خود برنامه می‌آیند. AuthScope با میزبان و درگاه پروکسی که دقیقاً در بالا پیکربندی شده‌اند مطابقت دارد. درخواست‌های بعدی که از این سازنده انجام می‌شوند از همان کلاینت پیکربندی‌شده استفاده می‌کنند.

پیاده‌سازی پیش‌فرض HTTPBuilder کلاسیک یک Apache DefaultHttpClient می‌سازد و متد عمومی setProxy آن مسیر پروکسی پیش‌فرض همان کلاینت را تعیین می‌کند. این شیء پیکربندی مرتبط است حتی وقتی خود برنامه درون Grails یا Tomcat اجرا می‌شود.

مثال به همان API کلاسیک اشاره دارد. HTTPBuilder-NG مدل پیکربندی متفاوتی دارد و برنامه‌ای که کلاینت زیربنایی سازنده کلاسیک را جایگزین می‌کند باید از رابط‌هایی استفاده کند که جایگزین از آن‌ها پشتیبانی می‌کند. هنگام بارگذاری از پیکربندی برنامه، نام میزبان، درگاه صحیح و طرح پروکسی را به‌صورت مقادیر جداگانه نگه دارید.

مقالات مرتبط