HTTParty პროქსის ავთენტიფიკაცია: ჰოსტი, პორტი, მომხმარებლის სახელი და პაროლი
გადაეცით HTTP პროქსის ჰოსტი, რიცხვითი პორტი და სურვილისამებრ პროქსის მონაცემები პირდაპირ HTTParty მოთხოვნას, API ტოკენი კი მისსავე თავსართში დატოვეთ.
HTTParty წინა პროქსის მოთხოვნის პარამეტრებად იღებს. სერვისის URL პირველ არგუმენტად დატოვეთ:
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-ს; ჰოსტის სახელი მიუთითეთ პორტისგან ცალკე და არა დანიშნულების URL ან PAC URL.
HTTParty-ს შემომფარავ კლასს შეუძლია ნაცვლად გამოიყენოს თავისი http_proxy კლასის მეთოდი ნაგულისხმევების დასაყენებლად. მოთხოვნის პარამეტრები ამ ნაგულისხმევებს სჯობს იმ გამოძახებისთვის, რომელიც მათ გადასცემს.
ეს აღწერს HTTParty-ს ნაგულისხმევ კავშირის ადაპტერს. მორგებული connection_adapter პასუხისმგებელია თავისი პარამეტრების ინტერპრეტაციაზე, ამიტომ გადაამოწმეთ ეს ადაპტერი, როცა სწორი პარამეტრი უგულებელყოფილად გვეჩვენება. HTTP სტატუსი წაიკითხეთ გაანალიზებული API მონაცემებისგან ცალკე; JSON-ის წარმატებული ანალიზი ავთენტიფიკაციის შედეგი არ არის.