احراز هویت پروکسی در HTTParty: میزبان، درگاه، نام کاربری و گذرواژه
میزبان پروکسی HTTP، درگاه عددی و اعتبارنامههای اختیاری پروکسی را مستقیماً به درخواست HTTParty بدهید و توکن API را در سرآیند خودش نگه دارید.
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 نتیجه احراز هویت نیست.