ฉันจะดีบัก PAC (การกำหนดค่าพร็อกซีอัตโนมัติ) บน Windows 8.1 (IE11 และ Modern UI) ได้อย่างไร


12

สำหรับระบบเก่าเช่น Windows 7 + IE10 การเรียก "alert ()" ในไฟล์ PAC อาจทำให้เกิดการโต้ตอบ อย่างไรก็ตามด้วย Windows 8.1 จะไม่มีกล่องโต้ตอบปรากฏขึ้นแม้ว่า IE11 จะใช้ PAC

สถานการณ์ปัจจุบันของฉันคือ IE11 สามารถใช้พร็อกซี (SOCKS) (ส่งคืนโดย PAC) ได้ดี แต่แอป Modern UI ถูกตัดการเชื่อมต่อจากอินเทอร์เน็ตอย่างสมบูรณ์ ดูเหมือนว่า IE11 และ Modern UI จะใช้การตั้งค่า PAC ต่างกัน แต่ฉันไม่สามารถหาวิธีแก้ปัญหาได้

โดยสรุปคำถามของฉันคือ

  1. ฉันจะดีบัก PAC ด้วยIE11บน Windows 8.1 ได้อย่างไร
  2. ฉันจะดีบัก PAC ด้วยModern UIบน Windows 8.1 ได้อย่างไร

1
ฉันพบปัญหาเดียวกัน - Firefox, Chrome หรือ IE ดูเหมือนจะไม่ได้รับการแจ้งเตือน ฉันใช้utmtools.com/PacMagicและcode.google.com/p/pacparserเพื่อจุดประสงค์ 'ทดสอบ'
oviava

+1 สำหรับ PacMagic เครื่องกำเนิดอาจใช้การปรับแต่งบ้าง แต่คุณสมบัติการทดสอบใช้งานได้ดี และเป็นไฟล์ exe แบบสแตนด์อโลนเพียงไฟล์เดียว
Neil

คำตอบ:


3

การเปลี่ยนแปลงไฟล์ IE11 PAC

มีการเปลี่ยนแปลงโดย Microsoft เป็นวิธีที่ IE11 จัดการกับไฟล์ PAC ในเครื่อง คุณสามารถอ่านเกี่ยวกับพวกเขาได้ที่นี่หรือดูด้านล่างสำหรับข้อมูลด่วน

โปรดทราบด้วยว่าalert()ข้อความดังกล่าวไม่สามารถใช้งานได้ใน Windows 8


ด้วย IE11 การใช้ไฟล์ PAC ผ่านไฟล์โปรโตคอลจะไม่สามารถทำได้อีกต่อไปเว้นแต่ว่าคุณจะเพิ่มคีย์รีจิสทรีต่อไปนี้:

[HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings]
(DWORD)"EnableLegacyAutoProxyFeatures"=1

PAC-file ผ่านตัวอย่างโปรโตคอลไฟล์

หมายเหตุ:ข้อความแจ้งเตือนจะไม่ปรากฏขึ้นอีกเมื่อใช้ Windows 8 หรือสูงกว่า!


DEBUG PAC ไฟล์พร้อม AUTOPROX ( ลิงค์ดาวน์โหลด )

บางครั้งคุณเพียงแค่ต้องทดสอบไฟล์ PAC ของคุณหากเส้นทางที่ต้องการกลับมาแม้ว่าคุณจะไม่สามารถเข้าถึงเว็บไซต์ที่เป็นปัญหาได้ สำหรับการทดสอบดังกล่าวคุณสามารถใช้เครื่องมือบรรทัดคำสั่ง (แนบ) autoprox.exe ซึ่งสร้างโดย Pierre-Louis Coll

เมื่อเริ่มต้นCMDโดยไม่มีพารามิเตอร์เพิ่มเติมการใช้งานจะปรากฏขึ้น:

C:\temp>autoprox
Version : 2.1.0.0
Written by pierrelc@microsoft.com
Usage : AUTOPROX -s  (calling DetectAutoProxyUrl and saving wpad.dat file in temporary file)
Usage : AUTOPROX  [-h] url [Path to autoproxy file]
       -h: calls InternetInitializeAutoProxyDll with helper functions implemented in AUTOPROX
AUTOPROX url: calling DetectAutoProxyUrl and using WPAD.DAT logic to find the proxy for the url
AUTOPROX url path: using the autoproxy file from the path to find proxy for the url
Example: autoprox -s
Example: autoprox http://www.microsoft.com
Example: autoprox -h http://www.microsoft.com c:\inetpub\wwwroot\wpad.dat
Example: autoprox http://www.microsoft.com http://proxy/wpad.dat

นี่คือผลลัพธ์กับตัวอย่างของเรา:

C:\temp>autoprox http://us.msn.com c:\temp\sample.pac
The Winsock 2.2 dll was found okay
url: http://us.msn.com
autoproxy file path is : c:\temp\sample.pac
Calling InternetInitializeAutoProxyDll with c:\temp\sample.pac
        Calling InternetGetProxyInfo with url http://us.msn.com and host us.msn.com
        Proxy returned for url http://us.msn.com is:
PROXY myproxy:80;

เมื่อคุณต้องการดูฟังก์ชั่นที่เกี่ยวข้องกับ DNS ที่ถูกเรียกคุณสามารถใช้พารามิเตอร์“ -h” เพิ่มเติม: นี่คือผลลัพธ์เมื่อใช้สิ่งนี้:

C:\temp>autoprox -h http://us.msn.com c:\temp\sample.pac
The Winsock 2.2 dll was found okay
Will call InternetInitializeAutoProxyDll with helper functions
url: http://us.msn.com
autoproxy file path is : c:\temp\sample.pac
Calling InternetInitializeAutoProxyDll with c:\temp\sample.pac
        Calling InternetGetProxyInfo with url http://us.msn.com and host us.msn.com
ResolveHostByName called with lpszHostName: us.msn.com
ResolveHostByName returning lpszIPAddress: 65.55.206.229
        Proxy returned for url http://us.msn.com is:
PROXY myproxy:80;

การจัดการข้อผิดพลาดใน autoprox.exe:

  1. เมื่อคุณระบุไฟล์ PAC ที่ไม่มีอยู่ (เช่นพิมพ์ผิดในบรรทัดคำสั่ง) ผลลัพธ์จาก autoprox.exe จะเป็น:

    ERROR: InternetInitializeAutoProxyDll failed with error number 0x6 6.

  2. เมื่อไฟล์ Pac มีข้อผิดพลาดทางไวยากรณ์คุณมักจะได้รับข้อความต่อไปนี้ปรากฏขึ้น:

    ERROR: InternetGetProxyInfo failed with error number 0x3eb 1003.

หลังจากเสร็จสิ้นการทดสอบโลคัลไฟล์ PAC ควรถูกคัดลอกไปยังเว็บเซิร์ฟเวอร์ซึ่งจะสามารถเข้าถึงได้ผ่าน http-protocol

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.