Rust headless_chrome ක්‍රේටයේදී බ්‍රවුසරයේ ආරම්භක සැකසුම HTTP මැදිහත්කරුවෙකු තෝරයි. Chromium ඉල්ලූ විට ටැබයේ Fetch හසුරුවන අත ගිණුම ලබා දෙයි:

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 සත්‍යාපන මාර්ගයෙන් වෙන් වේ.

අදාළ ලිපි