Gunakan pilihan Basic proksi khusus open-uri untuk akaun perantara:

require 'open-uri'

body = URI.open(
  'https://example.com/',
  proxy_http_basic_authentication: [
    'http://203.0.113.10:8080',
    ENV.fetch('PROXY_USER'),
    ENV.fetch('PROXY_PASSWORD')
  ],
  open_timeout: 5,
  read_timeout: 10
) { |response| response.read }

Gantikan titik akhir dokumentasi dan ambil nilai akaun daripada sumber rahsia yang dimaksudkan. Jangan letakkan kata laluan dalam URL yang kemudiannya boleh dicetak oleh pengecualian atau laporan sokongan.

Pilihan OpenReadKegunaan
proxy_http_basic_authenticationAlamat proksi dan nama pengguna/kata laluan Basic-nya.
proxyPemilihan proksi tanpa pilihan disahkan gabungan itu; memberikan kedua-duanya menimbulkan ralat argumen.
http_basic_authenticationAkaun pelayan destinasi.
proxy: nilJadikan bacaan ini terus walaupun ada nilai lalai persekitaran.

Tanpa pilihan proksi yang jelas, open-uri boleh menggunakan pemboleh ubah persekitaran proksi khusus skema. Pilihan disahkan itu sudah mengandungi titik akhirnya; ia tidak memerlukan nilai proxy kedua.

Antara muka ini mengendalikan pengesahan Basic proksi. Perkhidmatan yang memerlukan mekanisme lain memerlukan klien serasi atau integrasi yang diluluskan. Biarkan pengesahan HTTPS dihidupkan, kemudian periksa status/kandungan sewajarnya: log masuk proksi yang berfungsi tidak membuktikan bahawa destinasi memulangkan sumber yang dijangka.

Artikel berkaitan