शक्तियां में प्रॉक्सी कॉन्फ़िगरेशन


5

मैं एक प्रॉक्सी के पीछे खिड़कियों पर चॉकलेट लगाने की कोशिश कर रहा हूं:

@powershell -ExecutionPolicy unrestricted

पावर शेल में मैं अमल कर रहा हूं

$wc=new-object net.webclient;
$wc.Proxy=new-object system.net.WebProxy('<myproxy-ip>:8012',$true);
$wc.Proxy.Credentials = new-object system.net.NetworkCredential('<myusername>','<mypass>');
iex ($wc.DownloadString('https://chocolatey.org/install.ps1'));

मुझे निम्नलिखित त्रुटि मिलती है

Exception calling "DownloadString" with "1" argument(s): "The remote server returned an error: (407) Proxy Authentication Required."
At line:1 char:1
+ iex ($wc.DownloadString('https://chocolatey.org/install.ps1'));
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException

मैं उसी उपयोगकर्ता नाम / पासवर्ड का उपयोग करता हूं जिसे मुझे फ़ायरफ़ॉक्स / iexplorer (छवि देखें) शुरू करते समय दर्ज करना होगा। प्रॉक्सी के लिए कोई डिफ़ॉल्ट उपयोगकर्ता नाम / पासवर्ड कॉन्फ़िगर नहीं किए गए हैं क्योंकि मुझे हमेशा उन्हें दर्ज करना चाहिए।

यहाँ छवि विवरण दर्ज करें


अधिक जानकारी (एक निजी विंडो पर फ़ायरफ़ॉक्स में निरीक्षण तत्व का उपयोग करके)

रिस्पांस हेडर

Cache-Control: no-cache
Connection: close
Content-Length: 813
Content-Type: text/html; charset=utf-8
Pragma: no-cache
Proxy-Authenticate: BASIC realm="PROXY_INTERNET"
Proxy-Connection: close
Set-Cookie: BCSI-CS-dfaeac52a135c7c0=2; Path=/

.Net क्रेडेंशियल एक नाम और पासवर्ड के समान नहीं हैं जो आप ब्राउज़र-आधारित प्रॉक्सी प्रमाणीकरण स्क्रीन में टाइप करेंगे। शायद बेहतर तरीके से प्रॉक्सी का वर्णन करें और एफएफ या आईई का उपयोग करते समय आप अपने यूएन / पासवर्ड कैसे दर्ज करें।
15c atιᴇ007

@ @C helpsιᴇ007 मुझे उम्मीद है कि छवि प्रॉक्सी के प्रकार की पहचान करने में मदद करती है।
किशोरीकोस्टिन

नहीं, यह पर्याप्त नहीं है। हमें HTTP प्रतिसाद हेडर की आवश्यकता होगी जहां प्रॉक्सी प्रमाणीकरण के लिए पूछ रहा है।
डैनियल बी

मैंने ब्राउज़र से प्रतिक्रिया हेडर जोड़ा। मुझे नहीं पता कि मैं "डिबग" कैसे कर सकता हूं या रिस्पांस हेडर को पावरशेल में कैप्चर कर सकता हूं। क्या आपके पास कोई सुझाव है?
किशोरीकोस्टिन

उपरोक्त उदाहरण ने NTLM प्रॉक्सी के पीछे विंडोज 7 पर मेरे लिए ठीक काम किया :) धन्यवाद।
टॉड थॉमसन

जवाबों:


1

देखें https://github.com/chatalogy/chatalogy/wiki/Proxy-Settings-for-Chatalogy

में शक्तियां फ़ंक्शन को परिभाषित करती हैं

function Create-Proxy($proxyHost,$proxyPort,$proxyUsername,$proxyPassword){
    #$proxy = [System.Net.WebRequest]::GetSystemWebProxy()
    $proxyUrl = $proxyHost+":"+$proxyPort;
    Write-Host "proxy url [$proxyUrl]";
    $proxy = New-Object System.Net.WebProxy($proxyUrl, $true);
    $passwd = ConvertTo-SecureString $proxyPassword -AsPlainText -Force; ## Website credentials
    $proxy.Credentials = New-Object System.Management.Automation.PSCredential ($proxyUsername, $passwd);
    return $proxy;
}

इसे कॉल करें

$wc=new-object net.webclient;
$wc.UseDefaultCredentials = $true
$wc.Proxy = Create-Proxy "<proxy-host>" "<proxy-port>" "<proxy-username>" "<proxy-clear-pass>"
$wc.DownloadString('https://chocolatey.org/install.ps1');

मुझे पता चला कि वास्तविक डाउनलोड ने काम किया है, लेकिन इंस्टॉलर का निष्पादन तब से नहीं हुआ, क्योंकि इसमें कस्टम निर्मित प्रॉक्सी का उपयोग किया गया था।

तो iex ($wc.DownloadString("https://chocolatey.org/install.ps1"));विफल रहता है क्योंकि डाउनलोड के अंदर खराब प्रॉक्सी कॉन्फ़िगरेशनinstall.ps1


0

इसका परीक्षण नहीं कर सकते (मेरे पास एक समान प्रॉक्सी उपलब्ध नहीं है), इसलिए मुझे वास्तव में पता नहीं है कि क्या यह काम करेगा, लेकिन यहां कुछ आप कोशिश कर सकते हैं:

$wc = new-object net.webclient;
$proxyUri = new-object system.uri("http://<myproxy-ip>:8012");
$wc.Proxy = new-object system.net.WebProxy($proxyUri, $true);
$cachedCredentials = new-object system.net.CredentialCache;
$netCredential = new-object system.net.NetworkCredential("<myusername>", "<mypass>");

$cachedCredentials.Add($proxyUri, "Basic", $netCredential);

$wc.Proxy.Credentials = $cachedCredentials.GetCredential($proxyUri, "Basic");

iex ($wc.DownloadString("https://chocolatey.org/install.ps1"));

इरादा क्रेडेंशियल कैश ऑब्जेक्ट का उपयोग करने के लिए क्रेडेंशियल्स को "बेसिक" प्रमाणीकरण मोड का उपयोग करने के लिए मजबूर करना है।


-1

आप इसका उपयोग कर सकते हैं। मेरे लिए काम किया। https://github.com/chocolatey/choco/wiki/Proxy-Settings-for-Chocolatey

स्पष्ट प्रॉक्सी सेटिंग्स

चॉकलेट को स्पष्ट प्रॉक्सी समर्थन 0.9.9.9 से शुरू होता है।

आप बस 1 या 3 सेटिंग्स कॉन्फ़िगर कर सकते हैं और चॉकलेट एक प्रॉक्सी सर्वर का उपयोग करेंगे। प्रॉक्सी की आवश्यकता है और प्रॉक्सी सर्वर का स्थान और बंदरगाह है। प्रॉक्सीवर और प्रॉक्सीपासवर्ड वैकल्पिक हैं। उपयोगकर्ता / पासवर्ड के लिए मूल्यों का उपयोग केवल क्रेडेंशियल के लिए किया जाता है जब दोनों मौजूद होते हैं।

choco config set proxy <locationandport>
choco config set proxyUser <username>
choco config set proxyPassword <passwordThatGetsEncryptedInFile>

उदाहरण

0.9.9.9 में निम्न कमांड चलाना:

choco config set proxy http://localhost:8888
choco config set proxyUser bob
choco config set proxyPassword 123Sup#rSecur3

2
यह उत्तर बताता है कि एक प्रॉक्सी का उपयोग करने के लिए चॉकलेटरी को कैसे कॉन्फ़िगर किया जाए। सवाल पूछता है कि एक प्रॉक्सी के पीछे से चॉकलेट को कैसे स्थापित किया जाए । यह उत्तर उसके बाद उपयोगी होगा, लेकिन यह वह नहीं है जो सवाल पूछ रहा था।
अनएक्समाइंडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.