เซสชัน Chromote สื่อสารกับโปรเซส Chrome คำขอของเบราว์เซอร์จะเป็นไปตามการกำหนดค่าพร็อกซีของโปรเซสดังกล่าว จึงต้องตั้งค่าอาร์กิวเมนต์ก่อนสร้าง:

args <- c(
  chromote::get_chrome_args(),
  "--proxy-server=http://proxy.example:8080"
)
browser <- chromote::Chrome$new(args = args)
controller <- chromote::Chromote$new(browser = browser)
session <- chromote::ChromoteSession$new(parent = controller)

วิธีนี้รักษาอาร์กิวเมนต์เริ่มต้นที่มีอยู่ของ Chromote และเพิ่มตัวรับฟัง HTTP ปลายทางจากรายการพร็อกซี HTTPสามารถเติม URL ตัวอย่างสำหรับการเรียกดูสาธารณะที่ได้รับอนุญาตได้ ใช้ URL แบบ socks5 แทนเฉพาะเมื่อปลายทางรองรับ SOCKS5 จริง ๆ เท่านั้น ลบสวิตช์พร็อกซีเดิมที่ขัดแย้งกันออกเมื่อประกอบเวกเตอร์อาร์กิวเมนต์

ดำเนินการ CDP ที่ต้องการผ่านเซสชัน จากนั้นปิดเซสชัน ตัวควบคุม และเบราว์เซอร์ที่เป็นเจ้าของเป็นส่วนหนึ่งของการทำความสะอาดเวิร์กโหลด R ถ้าการนำทางเกิดข้อผิดพลาด เส้นทางการทำความสะอาดแบบ try/finally ใน R จะมีประโยชน์

สำหรับแอปพลิเคชันที่ใช้เบราว์เซอร์เริ่มต้นที่ใช้ร่วมกันของ Chromote, set_chrome_args จะเปลี่ยนค่าเริ่มต้นสำหรับการสร้างเบราว์เซอร์ในอนาคต ไม่ได้รีสตาร์ตโปรเซสที่มีอยู่ การสร้างออบเจกต์ Chrome อย่างชัดเจนดังข้างต้นทำให้เห็นความเป็นเจ้าของและเวลาที่เริ่มทำงาน

สภาพแวดล้อม http_proxy หรือ https_proxy ของ R เองสามารถกำหนดค่าตัวดาวน์โหลด R ได้โดยไม่เปลี่ยนเบราว์เซอร์นี้ ในทำนองเดียวกัน การเปลี่ยนเส้นทางของ Chrome ไม่ได้กำหนดค่าการเรียก API ของ R แยกต่างหาก ระบุว่าฝั่งใดของการเชื่อมต่อ CDP เป็นผู้ส่งคำขอ

บทความที่เกี่ยวข้อง