Rust headless_chrome-ის კრატში ბრაუზერის გაშვების პარამეტრი ირჩევს HTTP შუამავალს. ჩანართის Fetch დამუშავებელი აწვდის ანგარიშს, როცა Chromium მოითხოვს მას:

let proxy = "http://proxy.example:8080";
let options = headless_chrome::LaunchOptions::default_builder()
    .proxy_server(Some(proxy))
    .build()?;
let browser = headless_chrome::Browser::new(options)?;
let tab = browser.new_tab()?;

tab.enable_fetch(None, Some(true))?;
tab.authenticate(Some(proxy_user), Some(proxy_password))?;
tab.navigate_to("https://www.example.org/")?;
tab.wait_until_navigated()?;

გარემომცველი ფუნქცია გადასცემს შეცდომებს, ხოლო proxy_user და proxy_password არის String მნიშვნელობები აპლიკაციის არსებული ანგარიშის კონფიგურაციიდან. დააყენეთ ავთენტიფიკაცია მანამ, სანამ ნავიგაცია გამოიწვევს გამოწვევას.

enable_fetch-ის მეორე არგუმენტი რთავს ავთენტიფიკაციის მოვლენებს. Chromium არ განიხილავს --proxy-server-ში ჩაშენებულ მომხმარებლის ინფორმაციას როგორც ამ სერთიფიკატების გაცვლას.

შეინარჩუნეთ ბრაუზერი და ჩანართი ცოცხალი სამუშაოს განმავლობაში. თუ ასევე დაყენებულია საკუთარი Fetch ჩარევა, განსაზღვრეთ, ვინ აგრძელებს შეჩერებულ მოთხოვნებს და ვინ პასუხობს გამოწვევებს; გადაუწყვეტელი შეჩერებული მოთხოვნა შეიძლება შეაჩეროს ნავიგაცია.

ჩანართის ეს მარტივი ავთენტიფიკაცია გულისხმობს განზრახული პროქსის გამოწვევას. სამუშაო პროცესს, რომელსაც აქვს სხვა origin-ის ავთენტიფიკაცია, სჭირდება გამოწვევის მკაფიო შემოფარგლვა და არა შუამავლის ანგარიშის ხელახლა გამოყენება ყოველი სერვერისთვის. Chromium-ის SOCKS5 შეზღუდვა მომხმარებლის სახელსა და პაროლზე ასევე განცალკევებულია ამ HTTP ავთენტიფიკაციის გზიდან.

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