Pengesahan proksi HTTParty: hos, port, nama pengguna dan kata laluan
Hantar hos proksi HTTP, port bernombor dan kelayakan proksi pilihan terus kepada permintaan HTTParty, sambil mengekalkan token API dalam pengepalanya sendiri.
HTTParty menerima proksi hadapan sebagai pilihan permintaan. Kekalkan URL perkhidmatan sebagai hujah pertama:
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
Hos dan port proksi menandakan perantara. Nama pengguna dan kata laluan proksi disahkan di situ. Pengepala Authorization milik API, yang akaunnya boleh berbeza sama sekali.
Untuk proksi tanpa pengesahan, tinggalkan http_proxyuser dan http_proxypass. Untuk permintaan API awam pada laluan awam yang dibenarkan, ambil alamat HTTP daripada senarai proksi HTTP tanpa menyimpan kelayakan proksi dalam permintaan atau dalam nilai lalai kelasnya. Medan hos dihantar sebagai alamat proksi kepada Net::HTTP; berikan nama hos berasingan daripada portnya, bukan URL destinasi atau URL PAC.
Kelas pembalut yang menyertakan HTTParty boleh sebaliknya menggunakan kaedah kelas http_proxy untuk menetapkan nilai lalai. Pilihan permintaan mengatasi nilai lalai itu bagi panggilan yang menyediakannya.
Ini menerangkan penyesuai sambungan lalai HTTParty. connection_adapter tersuai bertanggungjawab mentafsir pilihannya, jadi periksa penyesuai itu apabila tetapan yang sah kelihatan diabaikan. Baca status HTTP secara berasingan daripada data API yang dihuraikan; penghuraian JSON yang berjaya bukan hasil pengesahan.