ฉันจะทำให้ Windows 7 เปลี่ยนการตั้งค่าพร็อกซีตามการเชื่อมต่อเครือข่ายได้หรือไม่


26

การย้าย LapTop ของฉันระหว่างที่ทำงานและที่บ้านฉันต้องเปลี่ยนการตั้งค่าพร็อกซีอินเทอร์เน็ตของฉัน มีการสร้างทางสำหรับ windows 7 เพื่อเปลี่ยนการตั้งค่าเหล่านี้ขึ้นอยู่กับเครือข่ายที่ใช้งานอยู่ในปัจจุบันของฉัน?


1
OWH ฉันต้องการเพื่อต้องการแล็ปท็อปของฉันที่จะทำเช่นเดียวกันเพียงแค่ขี้เกียจเกินไปที่จะมองหาคำตอบ :-(
Ivo Flipse

คำตอบ:


20

คุณสามารถตั้งค่านี้ได้ด้วย PAC (สคริปต์กำหนดค่าอัตโนมัติของพร็อกซี) เป็นสคริปต์ขนาดเล็กที่เขียนด้วย Javascript ที่ให้คุณระบุกฎการเชื่อมต่อต่างๆ เว็บเบราว์เซอร์เดสก์ท็อปที่ทันสมัยที่สุดสามารถอ่านได้โดยไม่มีปัญหาฉันมีการตั้งค่าเดียวกันใน Internet Explorer และ Firefox

ไฟล์ PAC ขั้นต่ำที่ส่งคุณไปยังพร็อกซีเซิร์ฟเวอร์proxy.companynameที่พอร์ต 81:

function FindProxyForURL(url, host)
{
     return "PROXY proxy.companyname:8080";
}

และตัวอย่างที่ซับซ้อนกว่าเล็กน้อยของไฟล์ PAC ที่ตรวจสอบเครือข่ายที่คุณใช้งานอยู่โดยตรวจสอบช่วงที่อยู่ IP ที่คุณเลือก ในตัวอย่างนี้พีซีไคลเอ็นต์ทั้งหมดใน บริษัท ของคุณจะได้รับที่อยู่ IP ในช่วง 10.10. * โดย DHCP และเข้าถึงอินเทอร์เน็ตผ่านทางพร็อกซีเซิร์ฟเวอร์proxy.companynameที่พอร์ต 81

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

      // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:81";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

สคริปต์ยังมีโหมดดีบักที่คุณสามารถใช้เพื่อทดสอบว่ามันทำงานอยู่และโหมดใด (การเชื่อมต่อ PROXY หรือ DIRECT) ซึ่งคิดว่าการเชื่อมต่อปัจจุบันของคุณควรเป็น

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

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

    // Detect if trying to connect to internal/intranet host
    if(isPlainHostName(host) || dnsDomainIs(host, "intranet.companyname"))
    {
 if(debug)
 {
            alert("Direct for " + url);    
     }
    return "DIRECT";   
    }

    // Detect if trying to connect to URLs on the internal network via internal DNS suffix or IP address
    if(shExpMatch(url, "*.companyname") || shExpMatch(host, "10.100.*"))
    {
 if(debug)
 {
     alert("Direct for " + url);
 } 
        return "DIRECT";    
    } 

     // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:8080";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

ใช้ไฟล์นี้โดยการบันทึกไว้ที่ใดที่หนึ่งบนไดรฟ์ C ของพีซีเช่น proxy.pac จากนั้นสำหรับ Internet Explorer ไปที่เครื่องมือ -> ตัวเลือก (หรือแผงควบคุม -> ตัวเลือกอินเทอร์เน็ต) จากนั้นคลิกแท็บการเชื่อมต่อคลิกปุ่มการตั้งค่า LAN . ตอนนี้ใช้เวลาเห็บออกจาก "ใช้พร็อกซีเซิร์ฟเวอร์" กล่องที่ด้านล่างและแทนที่จะใส่เห็บใน "การใช้สคริปต์การกำหนดค่าอัตโนมัติ" และประเภทในที่อยู่ของไฟล์ PAC ของคุณโดยใช้ไฟล์: // URL file://C:/proxy.pacเช่น

การตั้งค่าพร็อกซี IE

อีกวิธีหนึ่งสำหรับ Firefox ไปที่เครื่องมือ -> ตัวเลือกคลิกแท็บขั้นสูงคลิกแท็บเครือข่ายคลิกปุ่มการตั้งค่าคลิกการตั้งค่า "URL การกำหนดค่าพร็อกซีอัตโนมัติ" อีกครั้งโดยใช้ไฟล์: /// URL (โปรดทราบว่าใน Firefox นั้น 3 file:///C:/proxy.pacทับหลังจากลำไส้ใหญ่เช่น

การตั้งค่าพร็อกซี Firefox


โปรดทราบว่า Internet Explorer 11 เปลี่ยนพฤติกรรมนี้และตอนนี้คุณไม่สามารถโหลดไฟล์ PAC จาก URL 'file: //' ได้คุณต้องใช้ URL 'HTTP: //' หรือ 'HTTPS: //'

ใน Internet Explorer 11 ทีม WinINET ได้ปิดการใช้งานการสนับสนุนของ WinINET สำหรับสคริปต์ที่ใช้ไฟล์: // เพื่อส่งเสริมการทำงานร่วมกันข้ามเครือข่ายสแต็ค บริษัท ควรได้รับการแนะนำให้โฮสต์สคริปต์การกำหนดค่าพร็อกซีแทนบนเซิร์ฟเวอร์ HTTP หรือ HTTPS

มีวิธีแก้ไขปัญหาที่สามารถเปิดใช้งานคุณลักษณะนี้อีกครั้งในขณะนี้ แต่คุณไม่ควรใช้งานเนื่องจากการปรับปรุงในอนาคตอาจปิดใช้งานคุณลักษณะนี้ได้เช่นกัน

เนื่องจากเป็นการแก้ปัญหาชั่วคราวบล็อกนี้สามารถลบได้โดยการตั้งค่ารีจิสทรีคีย์ต่อไปนี้:

รหัส: HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \
ค่า: EnableLegacyAutoProxyFeatures
ประเภท: REG_DWORD
ข้อมูล: 1

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

โปรดทราบว่าหลังจากทำการเปลี่ยนแปลงนี้ IE11 แล้วคุณจะต้องเปลี่ยนการตั้งค่าที่อยู่สำหรับสคริปต์กำหนดค่าอัตโนมัติของคุณเนื่องจาก IE 11 ยอมรับเฉพาะไวยากรณ์เดียวสำหรับเรื่องนี้ (ดูที่ด้านล่างของบทความที่ลิงก์ในบล็อก IE Internals ด้านล่าง)

อย่างไรก็ตามตามที่ระบุไว้ไม่น่าเป็นไปได้ที่การแก้ปัญหาคีย์รีจิสทรีนี้จะยังคงทำงานใน Internet Explorer รุ่นต่อไปในอนาคตดังนั้นคุณจึงดีกว่าที่จะหาวิธีเก็บ PAC บนเว็บเซิร์ฟเวอร์ เว็บเซิร์ฟเวอร์ IIS ในตัวของ Windows จะทำและมีสิ่งที่น้อยที่สุดที่จะใช้ในการติดตั้งบนแล็ปท็อปของคุณเช่นกัน

ข้อมูลเพิ่มเติมเกี่ยวกับรายการบล็อก IE Internals ทำความเข้าใจเกี่ยวกับการกำหนดค่าพร็อกซีเว็บ


มันค่อนข้างเจ๋งมากจนกว่าคุณจะเข้าสู่เครือข่ายไร้สายสาธารณะอื่นโดยใช้ช่วง IP ส่วนตัวเดียวกับที่ฉันใช้ที่บ้าน :)
dannysauer

โพสต์ที่ดี เขียนได้ดีมาก
Jeff F.

1
สิ่งนี้ใช้ไม่ได้ใน Windoes 8.1
Milind R

3
หากต้องการขยายความคิดเห็นของ @ MilindR ด้านบนไฟล์ PAC ยังคงอยู่ใน Windows 8 / IE11 แต่คุณต้องโหลดไฟล์ PAC ของคุณจาก HTTP หรือ HTTPS URL มันไม่สามารถใช้พา ธ แบบอิงไฟล์หรือ UNC ได้ ข้อมูลเพิ่มเติมจากทีม Internet Explorer ที่นี่ทำความเข้าใจกับการกำหนดค่าพร็อกซีของเว็บและคำตอบนี้ได้รับการปรับปรุงเพื่อให้สอดคล้องกับการเปลี่ยนแปลงของ IE11
GAThrawn

4

ใช้ IP Switcher ฟรี 1.0

ข้อความแสดงแทน

รายละเอียด:

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

อย่าเสียเวลาในการกำหนดการตั้งค่าเครือข่ายคอมพิวเตอร์ใหม่ทุกครั้งที่คุณเปลี่ยนตำแหน่ง IP Switcher ฟรีเป็นโซลูชั่นที่สมบูรณ์แบบสำหรับคุณ มันสลับไปมาระหว่างการตั้งค่าเครือข่ายที่กำหนดไว้ล่วงหน้าได้ด้วยคลิกเดียวและไม่มีการรีบูต ด้วย Free IP Switcher คุณสามารถเปลี่ยนการตั้งค่าเครือข่ายทั้งหมดบนพีซีของคุณโดยอัตโนมัติ: ที่อยู่ IP, มาสก์เครือข่าย, เกตเวย์เริ่มต้น, เซิร์ฟเวอร์ DNS, เซิร์ฟเวอร์ที่ชนะ, การตั้งค่าพร็อกซี, เครื่องพิมพ์เริ่มต้นและอื่น ๆ

คุณสมบัติ:

  • สลับการตั้งค่าเครือข่าย IP "ทันที" โดยไม่ต้องเริ่มต้นใหม่
  • สลับการตั้งค่าพร็อกซีเซิร์ฟเวอร์ Internet Explorer
  • สลับเครื่องพิมพ์เริ่มต้นของคุณ
  • สลับชื่อคอมพิวเตอร์และเวิร์กกรุ๊ปของคุณ
  • นำเข้าการตั้งค่าเครือข่ายปัจจุบันเป็นการตั้งค่า
  • รองรับไอคอน System-Tray เริ่มอัตโนมัติพร้อมหน้าต่าง
  • สปายแวร์ 100% ฟรีไม่มีสปายแวร์แอดแวร์หรือไวรัสใด ๆ

2
ฉันไม่อยากจะเชื่อเลยว่ามีบางสิ่งที่มีประโยชน์พอ ๆ กับโปรไฟล์การกำหนดค่าเครือข่ายที่ไม่ได้เป็นส่วนหนึ่งของ Windows 7 Ubuntu มี แต่ Mac OS X ก็มีเช่นกัน . .
dreamlax

ฉันรู้ว่า Dell ทำเครื่องมือดังกล่าวสำหรับละติจูดของฉัน แต่ฉันไม่ชอบมัน :-(
Ivo Flipse

เวอร์ชั่นดาวน์โหลดไม่ทำงานสำหรับ Windows /
Hakan Forss

@IvoFlipse คุณจำสิ่งที่ถูกเรียกได้หรือไม่?
Matthys Du Toit

@ MatthysDuToit ฉันไม่สามารถ
Ivo Flipse

3

คุณมีทางเลือกอื่น (จ่าย) เพื่อเปลี่ยนการกำหนดค่าเครือข่ายเช่น Mobile Net SwitchหรือNetSetMan


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