HTTParty پروکسی پیشرو را به‌عنوان گزینه‌های درخواست می‌پذیرد. نشانی سرویس را به‌عنوان آرگومان نخست نگه دارید:

response = HTTParty.get(
  'https://api.example/items',
  http_proxyaddr: 'proxy.example',
  http_proxyport: 8080,
  http_proxyuser: ENV.fetch('PROXY_USER'),
  http_proxypass: ENV.fetch('PROXY_PASSWORD'),
  headers: { 'Authorization' => "Bearer #{ENV.fetch('API_TOKEN')}" },
  open_timeout: 5,
  read_timeout: 15
)
puts response.code

میزبان و درگاه پروکسی واسطه را مشخص می‌کنند. نام کاربری و گذرواژه پروکسی همان‌جا احراز می‌شوند. سرآیند Authorization به API تعلق دارد که حسابش می‌تواند کاملاً متفاوت باشد.

برای پروکسی بدون احراز هویت، http_proxyuser و http_proxypass را حذف کنید. برای درخواست API عمومی روی مسیر عمومی مجاز، نشانی HTTP را از فهرست پروکسی HTTP بردارید، بدون آنکه اعتبارنامه پروکسی در درخواست یا پیش‌فرض‌های کلاس بماند. میدان میزبان به‌عنوان نشانی پروکسی به Net::HTTP داده می‌شود؛ نام میزبان را جدا از درگاهش بدهید، نه نشانی مقصد یا نشانی PAC.

کلاس پوششی که HTTParty را در بر می‌گیرد می‌تواند به‌جای آن از متد کلاس http_proxy برای تعیین پیش‌فرض‌ها استفاده کند. گزینه‌های درخواست آن پیش‌فرض‌ها را برای فراخوانی‌ای که آن‌ها را می‌دهد بازنویسی می‌کنند.

این адаپتر اتصال پیش‌فرض HTTParty را توصیف می‌کند. یک connection_adapter سفارشی مسئول تفسیر گزینه‌های خود است، پس هنگامی که تنظیم معتبری نادیده گرفته‌شده به نظر می‌رسد آن адаپتر را بررسی کنید. وضعیت HTTP را جدا از داده‌های تجزیه‌شده API بخوانید؛ تجزیه موفق JSON نتیجه احراز هویت نیست.

مقالات مرتبط