답변:
제어판을 통해 일반적으로 변경하는 레지스트리 스크립트를 구성한 다음 스크립트를 병합하여 프록시를 활성화해야합니다. 또한 변경 사항을 비활성화하려면 "실행 취소"레지스트리 스크립트가 필요합니다.
필자의 경우 enable.reg 및 disable.reg라는 두 개의 스크립트가 있습니다.
프록시 사용 :
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"AutoConfigURL"="http://10.10.10.1/autoproxy/proxy.pac"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:16,00,00,00,05,02,00,00,0d,00,00,00,0e,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"SavedLegacySettings"=hex:36,00,00,00,46,1a,00,00,0d,00,00,00,0e,00,00,00,32,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
프록시 비활성화 :
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"AutoConfigURL"=-
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:16,00,00,00,05,02,00,00,0d,00,00,00,0e,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"SavedLegacySettings"=hex:36,00,00,00,46,1a,00,00,0d,00,00,00,0e,00,00,00,32,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"disable"스크립트에서 =-
AutoConfigURL의 끝에있는 실제로 레지스트리에서 키를 삭제합니다.
위에서 본 값은이 답변의 목적으로 수정되었습니다. 실제 16 진수 값이 훨씬 더 깁니다.
이 스크립트를 사용하기 위해 다음과 같이 배치 파일을 하나씩 배치했습니다.
@echo off
start /min reg import C:\Path\To\Registry\File\enable_proxy.reg
그것은 명령 행에서 완벽하게 작동합니다.
c#
코드를 작성했습니다 .. :). 어쨌든 고맙습니다 ..
http://www.ehow.com/how_6887864_do-proxy-settings-command-prompt_.html 에서 검색된 간단하고 효과적인 솔루션
프록시 사용을 활성화하는 명령 :
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyEnable /t REG_DWORD /d 1 /f
프록시 사용을 비활성화하는 명령 :
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyEnable /t REG_DWORD /d 0 /f
프록시 주소를 변경하는 명령 :
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" ^
/v ProxyServer /t REG_SZ /d proxyserveraddress:proxyport /f
가독성을 높이기 위해 줄 연속 (^)을 추가했습니다. 또한이 경우 시스템 전체 설정보다 사용자 별 설정과 유사합니다.
^
문자는 명령의 일부가 아닙니다.
구조에 NetSh !
NetSh winhttp set proxy
도움이 될 것입니다. 명령은 다음과 같습니다.
netsh winhttp set proxy myproxy
netsh winhttp set proxy myproxy:80 "<local>bar"
netsh winhttp set proxy proxy-server="http=myproxy;https=sproxy:88" bypass-list="*.contoso.com"
나는 C #에서 그것을했지만 레지스트리에 쓰는 철학은 동일하므로 다음 명령을 줄 명령으로 외삽 할 수 있습니다. 다음 세 가지를 수행해야합니다.
ProxyEnable에서 레지스트리 "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings"에 쓰십시오. 활성화하려면 1, 비활성화하려면 0
ProxyServer의 레지스트리 "HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings"에 쓰기 : xxx.xxx.xxx.xxxx : yyyy (xxx ...는 IP, yy ..는 포트 임)
1 단계와 2 단계를 수행 한 후에 프록시 활성화와 IP 및 포트를 레지스트리에 기록했지만 브라우저를 열면 충분하지 않다는 것을 알 수 있습니다. 세 번째 단계는 연결 설정과 관련된 레지스트리 변경으로 구성됩니다.
"DefaultConnectionSettings"의 "Software \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Connections"
이 레지스트리에는 (적어도 W7의 경우) 204 바이트가 있지만 바이트 8 만 수정하면됩니다 (바이트 0이 첫 번째이므로 9 번째). 바이트 8 값에는 프록시 활성화 / 비활성화뿐만 아니라 다른 기능에 대한 정보가 포함됩니다.
//09 when only 'Automatically detect settings' is enabled
//03 when only 'Use a proxy server for your LAN' is enabled
//0B when both are enabled
//05 when only 'Use automatic configuration script' is enabled
//0D when 'Automatically detect settings' and 'Use automatic configuration script' are enabled
//07 when 'Use a proxy server for your LAN' and 'Use automatic configuration script' are enabled
//0F when all the three are enabled.
//01 when none of them are enabled.
필자의 경우 '자동으로 설정 감지'가 항상 활성화되어 있으므로 바이트 8의 값을 09에서 0B로 또는 그 반대로 전환하여 프록시를 활성화 및 비활성화합니다.
배치 파일을 만들고 다음 내용을 붙여 넣습니다 (프록시 상태를 토글합니다).
@echo off
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable') DO SET currentProxy=%%B
rem ECHO currentProxy=%currentProxy%
if %currentProxy%==0x1 (
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
echo Proxy Disabled
) else (
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
echo Proxy Enabled
)
pause
여기에서 올바른 방향을 가리키고 싶지만 "인터넷 옵션"을 통해 프록시 설정에 액세스하려는 경우 시작 메뉴를 열고 "인터넷 옵션"을 입력하면됩니다 (모든 설정 또는 응용 프로그램에서도이 방법을 찾을 수 있습니다) 예 : "proxy"). 그런 다음이 메뉴를 인식하고 필요한 설정을 추가 할 수 있어야합니다.