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 מוצלח אינו תוצאת אימות.

מאמרים קשורים