Երբ Ruby դասը ներառում է HTTParty, պրոքսին դրեք այդ դասի վրա և հարցումները կատարեք դրա միջոցով։

class Reports
  include HTTParty
  http_proxy 'proxy.example', 8080
end

response = Reports.get('https://reports.example/monthly')

Օրինակը ենթադրում է, որ HTTParty-ն բեռնված է։ Պրոքսի մեթոդը վերցնում է հոսթի անուն և ամբողջ թիվ պորտ, ինչպես նաև ընտրովի օգտանուն և գաղտնաբառ արգումենտներ։ Առանց պրոքսի հաշվի թույլատրված public-API թեստի համար հոսթի և պորտի համար օգտագործեք HTTP թեկնածու HTTP պրոքսիների ցանկից։ Նպատակակետ URL-ը թողեք get-ի վրա։

Reports-ի օրինակի մեթոդի ներսում օգտագործեք self.class.get(...), երբ մտադրությունը հենց այդ կարգավորված դասի մեթոդը կանչելն է։ Վերին մակարդակի HTTParty մոդուլը կանչելը փոխարենը կարող է շրջանցել այն փաթաթանը, որի լռելյայնները դուք հենց նոր կարգավորեցիք։

Նույն տարբերությունը կարևոր է, երբ մի քանի API փաթաթաներ կիսում են մեկ հավելված։ Յուրաքանչյուրին տվեք իր նախատեսված պրոքսի քաղաքականությունը՝ մեկ դասը վերանորոգելու համար HTTParty::Basement-ը գլոբալ փոխելու փոխարեն։

HTTParty-ն նաև տրամադրում է հարցումով պրոքսի ընտրանքներ, ինչպիսիք են http_proxyaddr-ը և http_proxyport-ը։ Օգտագործեք դրանք, երբ երթուղին իսկապես մեկ հարցման մասն է։ Դասի լռելյայնները ավելի հեշտ են կարդացվում, երբ Reports-ի յուրաքանչյուր գործողություն պետք է հետևի նույն ուղուն։

Առնչվող հոդվածներ