วิธีจัดการการรับรองความถูกต้องของพร็อกซีใน Selenium ไดรเวอร์เว็บ

พร็อกซี่คืออะไร?

พร็อกซีทำหน้าที่เป็นตัวกลางระหว่างไคลเอนต์ที่ส่งคำขอและเซิร์ฟเวอร์ตอบสนอง การใช้พร็อกซีหลักคือเพื่อรักษาความเป็นส่วนตัวและการห่อหุ้มระหว่างระบบโต้ตอบหลายระบบ

พร็อกซียังสามารถเพิ่มการรักษาความปลอดภัยอีกชั้นหนึ่งบนเว็บโดยทำหน้าที่เป็นไฟร์วอลล์ระหว่างไคลเอนต์และเว็บเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งจะใช้เมื่อเว็บไซต์ที่ลูกค้าใช้ต้องมีป้ายกำกับว่าอนุญาตหรือบล็อกตามเนื้อหาของเว็บไซต์

กระบวนการนี้เรียกว่า 'การกรองเนื้อหา' และมักใช้ในสถาบันการศึกษา สำนักงานบริษัท ฯลฯ การกรองเนื้อหาสามารถทำได้ง่าย ๆ ด้วยความช่วยเหลือของพร็อกซี ในแง่อินเทอร์เน็ต สามารถใช้พรอกซีเป็นเซิร์ฟเวอร์แยกต่างหากซึ่งอยู่ระหว่างเครื่องไคลเอนต์และเว็บจริงหรือเซิร์ฟเวอร์ฐานข้อมูลที่ตอบสนอง

ความแตกต่างระหว่าง SOCKS และ HTTP Proxy

ถุงเท้า พร็อกซี HTTP
SOCKS ย่อมาจาก ซ็อกเก็ตที่ปลอดภัย โดยทั่วไปจะใช้เป็นไฟร์วอลล์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ HTTP Proxy ยังสามารถใช้เป็นไฟร์วอลล์ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ได้ แต่สามารถใช้ได้เฉพาะกับคำขอ HTTP เท่านั้น
SOCKS ไม่ตีความข้อมูลที่มีการแลกเปลี่ยน HTTP Proxy ตีความข้อมูลที่มีการแลกเปลี่ยนระหว่างไคลเอนต์และเซิร์ฟเวอร์
ช้าลงในแง่ของประสิทธิภาพ ประสิทธิภาพที่ดีกว่าเมื่อเทียบกับ SOCKS

วิธีจัดการพรอกซีใน Selenium เว็บไดรเวอร์ใน Chrome

การตรวจสอบสิทธิ์ HTTP Proxy ด้วย Selenium ใน Chrome สามารถจัดการได้โดยใช้วิธีการต่อไปนี้

  • การใช้เครื่องมือ AutoIT
  • การใช้การแจ้งเตือน

การใช้เครื่องมือ AutoIT

Auto IT เป็นเครื่องมือของบุคคลที่สามที่ใช้สำหรับการทำงานอัตโนมัติบนเดสก์ท็อปของ Windows ตั้งแต่ Selenium จัดการเฉพาะป๊อปอัปและหน้าต่างบนเว็บเท่านั้น ไม่สามารถจัดการการควบคุมระบบปฏิบัติการได้โดยใช้ Selenium.

ซึ่งจำเป็นต้องใช้เครื่องมือภายนอกภายนอก เช่น Auto IT เพื่อรวมเข้าด้วยกัน Selenium- ด้วยเหตุนี้ Auto IT จึงมักใช้ในการจัดการการอัพโหลดไฟล์และการดาวน์โหลดไฟล์บนเว็บไซต์

หากต้องการใช้ AutoIT คุณต้องดาวน์โหลดและติดตั้งซอฟต์แวร์ AutoIT บนเครื่องของเรา

ดาวน์โหลดการติดตั้ง AutoIT ครอบคลุมอยู่ใน บทความ.

เปิดโปรแกรม – เครื่องมือ Autoit – โปรแกรมแก้ไขสคริปต์ SciTE และเพิ่มสคริปต์ AutoIt ที่กล่าวถึงด้านล่างในตัวแก้ไข Autoit และบันทึกเป็น 'ProxyAuthentication.au3' ในระบบของคุณ

รวบรวมไฟล์และแปลงเป็น 'ProxyAuthentication.exe'

In Eclipseให้เพิ่มไฟล์ Auto IT เข้าไป Selenium สคริปต์และเรียกใช้

ด้านล่างนี้คือสคริปต์ AutoIT สำหรับการตรวจสอบสิทธิ์ HTTP Proxy

Send("guru99{ENTER}")
Send("guru99{ENTER}")

คุณต้องส่งไฟล์ Auto IT เพื่อดำเนินการ Selenium webdriver โดยใช้โค้ดด้านล่าง

รหัสแหล่งที่มา:

package Guru99Demo;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AutoITDemo {
    public static void main(String[] args) throws IOException {
        System.setProperty("webdriver.chrome.driver", "D:\\ chromedriver.exe");;
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/basic_auth.php");
        //Passing the AutoIt Script to Selenium	
        Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe");
    }
}

คำอธิบายรหัส:

  • ในขั้นตอนแรก คุณกำลังเริ่มต้นอินสแตนซ์ของไดรเวอร์ Chrome โดยการตั้งค่าคุณสมบัติของระบบให้ชี้ไฟล์ chromedriver.exe
  • ในขั้นตอนที่สอง คุณกำลังเริ่มต้นออบเจ็กต์ของไดรเวอร์เว็บและส่ง URL ของเว็บไซต์โดยใช้วิธี get
  • สุดท้ายนี้ คุณกำลังส่งชื่อผู้ใช้และรหัสผ่านไปยังป๊อปอัปการตรวจสอบสิทธิ์ HTTP Proxy โดยใช้ไฟล์สคริปต์ AutoIT

รหัสเอาท์พุท:

การจัดการการแจ้งเตือนชื่อผู้ใช้โดยใช้ AutoIT
การจัดการการแจ้งเตือนชื่อผู้ใช้โดยใช้ AutoIT
การจัดการการแจ้งเตือนรหัสผ่านโดยใช้ AutoIT

การจัดการการแจ้งเตือนรหัสผ่านโดยใช้ AutoIT
หน้าจอความสำเร็จในการรับรองความถูกต้องของพร็อกซี

หน้าจอความสำเร็จในการรับรองความถูกต้องของพร็อกซี

การใช้การแจ้งเตือน

การแจ้งเตือนนั้นเรียบง่ายและมีฟีเจอร์ในตัวที่จัดทำโดย Selenium ไดรเวอร์เว็บ คุณสามารถจัดการป๊อปอัปการรับรองความถูกต้องของพร็อกซีได้โดยใช้ Selenium ไดรเวอร์เว็บโดยสลับไปที่การแจ้งเตือนการตรวจสอบสิทธิ์พร็อกซี HTTP และส่งชื่อผู้ใช้และรหัสผ่านไปยังการแจ้งเตือนโดยตรง ด้วยความช่วยเหลือของวิธีส่งคีย์

ตัวอย่าง:

สถานการณ์การทดสอบ:

จัดการป๊อปอัปการตรวจสอบสิทธิ์ HTTP Proxy บนเว็บไซต์: https://demo.guru99.com/test/basic_auth.php โดยใช้การแจ้งเตือนใน Selenium ไดรเวอร์เว็บ

ตัวอย่างซอร์สโค้ด:

package Guru99Demo;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AlertsDemo {
    public static void main(String args[]) throws IOException {
        System.setProperty("webdriver.chrome.driver", "D:\\Data_Personal\\Software\\chromedriver_win32\\chromedriver.exe");;
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/basic_auth.php");
        // Handling Username alert
        driver.switchTo().alert().sendKeys("guru99");
        driver.switchTo().alert().accept();
        // Handling Password alert
        driver.switchTo().alert().sendKeys("guru99");
        driver.switchTo().alert().accept();
    }
}

รหัสเอาท์พุท

การตรวจสอบสิทธิ์พร็อกซีสำเร็จแล้ว

คำอธิบายรหัส:

  • เริ่มแรก คุณกำลังสร้างอินสแตนซ์ของไดรเวอร์ Chrome โดยตั้งค่าคุณสมบัติ webdriver ให้ชี้ตำแหน่งของไฟล์ chromedriver.exe
  • จากนั้น คุณกำลังเปิด URL ของเว็บไซต์ที่ต้องการโดยส่ง URL เป็นพารามิเตอร์ไปยังเมธอด driver.get()
  • เมื่อเปิด URL คุณจะเปลี่ยนไปใช้การแจ้งเตือนชื่อผู้ใช้และส่งชื่อผู้ใช้ – guru99 จากนั้นคุณคลิกที่ปุ่มตกลงบนการแจ้งเตือนโดยใช้วิธี alert.accept
  • จากนั้น คุณกำลังเปลี่ยนไปใช้การแจ้งเตือนรหัสผ่านและส่งรหัสผ่าน – guru99 จากนั้นคุณคลิกที่ปุ่มตกลงบนการแจ้งเตือนโดยใช้วิธี alert.accept

สรุป

  • พร็อกซีทำหน้าที่เป็นตัวกลางระหว่างไคลเอนต์ที่ส่งคำขอและเซิร์ฟเวอร์ตอบสนอง การใช้พรอกซีขั้นพื้นฐานคือการรักษาความเป็นส่วนตัวและ encapsulation ระหว่างระบบโต้ตอบหลายระบบ
  • การตรวจสอบสิทธิ์ HTTP Proxy ด้วย Selenium ใน Chrome สามารถจัดการได้โดยใช้วิธีการต่อไปนี้
  • การส่งชื่อผู้ใช้และรหัสผ่านใน URL ของเว็บไซต์
  • การใช้เครื่องมือ AutoIT
  • การใช้การแจ้งเตือน
  • จากสามวิธีข้างต้น การใช้การแจ้งเตือนเป็นวิธีที่มีประสิทธิภาพมากที่สุดในการจัดการการตรวจสอบสิทธิ์ HTTP Proxy Selenium ไดรเวอร์เว็บ