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-ის წარმატებული ანალიზი ავთენტიფიკაციის შედეგი არ არის.

დაკავშირებული სტატიები