![](/img/trans.png)
[英]webRequest onAuthRequired never catch 407 Proxy Authentication Required
[英]407 Authentication required npm
大家好,我一直在嘗試在我的企業 PC 上配置和使用 npm,但沒有成功。
我已經設置了代理,https-proxy,strict-ssl false,注冊表http://registry.npmjs.org代理已設置為“ http://user:password@proxy_ip:proxy:port ”用 urlencode 編寫的特殊字符。
npm config get proxy
返回具有憑據的代理,因為它們應該是。
我已經清除了我的 npm 緩存並再次嘗試。
沒有成功。
任何想法可能是什么問題?
我建議通讀這篇文章來為 npm 配置代理。 http://wil.boayue.com/blog/2013/06/14/using-npm-behind-a-proxy/
npm config set proxy http://proxy.company.com:proxyport
npm config set http-proxy http://proxy.company.com:proxyport
npm config set https-proxy http://proxy.company.com:proxyport
希望這對你有用!
通常,當您使用公司代理時,需要添加您所在的域。 鑒於字符也應該是 URL 編碼的,它看起來像:
我們應該添加帶有用戶名和密碼的代理以避免此錯誤。 例如:
npm config set proxy http://admin:admin123@172.10.3.21:3128
npm config set https-proxy http://admin:admin123@172.10.3.21:3128
編輯用戶文件夾中的 .npmrc 文件對我有用。 我將代理和 npm 注冊表設置如下:
proxy=http://username:password@proxy:port/
https-proxy=http://username:password@proxy:port
registry=http://registry.npmjs.org/
注意:對於包含特殊字符的用戶名和密碼,需要在代理配置中對字符進行編碼。 例如,如果用戶名是“user”,密碼是“1234@user”,那么 .npmrc 文件將如下所示:
proxy=http://user:1234%40user@proxy:port/
https-proxy=http://user:1234@user@proxy:port
registry=http://registry.npmjs.org/
其中,%40 是“@”的編碼形式。 就我而言,用戶名或密碼中沒有接受英鎊符號(#)(不知道為什么)。
如果您使用 windows 和 cntlm 並且從 cntlm 代理服務器收到 407 錯誤,請確保 cntlm.ini 中的 PassNTLMv2 是最新的,因為每次更改域密碼時都必須重新創建它。
字符點。 , 不要處理 http 請求但 . 替換它
正如上面其他人提到的,您應該同時設置代理和 https-proxy 配置變量。 如下:
https-proxy=http://userName:password@urlOfYourProxy:8080/
沒有提到的是 https-proxy 變量應該指向使用 http 協議而不是 https 協議的代理 url (如上所示)! 相當該死的反直覺。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.