我需要通过npm下载几个软件包,但我们的公司代理配置是.pac文件(我在Windows上)
我已经尝试过了
npm config set proxy http://mydomain\username:password@1.2.3.4:8181/proxy.pac
npm config set https-proxy http://mydomain\username:password@1.2.3.4:8181/proxy.pac
Run Code Online (Sandbox Code Playgroud)
要么
npm config set proxy http://1.2.3.4:8181/proxy.pac
npm config set https-proxy http://1.2.3.4:8181/proxy.pac
Run Code Online (Sandbox Code Playgroud)
但它不起作用......
有什么建议吗?谢谢
在Windows上,是否可以将Atom配置为使用系统默认代理而不是手动指定.apmrc文件中的代理设置?
我最近开始使用Windows 的原子编辑器(Windows 7 Pro),到目前为止我喜欢它.我一直在寻找一些时间来尝试让编辑能够连接到外部世界并且没有取得任何成功.
我们的网络(我不是网络专家)配置为使用代理服务器(内部)访问互联网.在我的系统上,这是在代理设置中使用"自动配置脚本"完成的,例如:http://internal-server-name/sub-dir/file-name.pac.
许多资源建议在.apmrc文件中手动设置代理信息:
这些不能回答我的问题,因为我需要系统默认工作
我试图配置Atom来做同样的事情但是当我更改.apmrc文件时:
http-proxy = http://internal-server-name/sub-dir/file-name.pac
https-proxy = https://internal-server-name/sub-dir/file-name.pac
strict-ssl = false
Run Code Online (Sandbox Code Playgroud)
我收到以下错误(大概是因为上面的地址不是代理本身):
tunneling socket could not be established, cause=Parse Error
Run Code Online (Sandbox Code Playgroud)
当我保持.apmrc文件不受干扰时,我在尝试查看包时收到以下错误:
getaddrinfo ENOTFOUND
Run Code Online (Sandbox Code Playgroud)
即使我有一个代理服务器IP地址和端口号来指定,我不仅不想在配置文件中硬编码我的凭据,而且我很确定无论如何都要以某种方式设置认证使用Kerberos令牌,所以我根本无法指定它们.
有趣的是,Atom更新说我安装的软件包(开箱即用)是最新的,这似乎表明这部分正在运行而软件包和主题没有.
以下是一些参考屏幕截图:
没有.apmrc更改

.apmrc中指定的代理服务器

为了回应一些反馈,我试图查看.pac文件并提取代理服务器地址信息.我能够从文件中获取有关代理的信息并将其放在.apmrc文件中,但它对结果没有影响(我仍然收到相同的错误).我也尝试过使用CNTLM无济于事.
另请注意,我的代理确实需要如上所述的身份验证.我一直在进一步研究这个问题,它可能是APMGitHub 的代理设置的代理设置的组合.请参阅以下相关文章:
理想情况下,我想要一个不需要完整的机器配置或脆弱的多配置文件设置的解决方案.
我的公司网络使用PAC脚本.(http://proxyconf.xxx.yy-ss/proxy.pac).
在"git config"命令中使用PAC脚本不起作用."git config --global http.proxy http://proxyconf.xxx.yy-ss/proxy.pac "
我通过下载proxy.pac脚本(100个奇数条目),选择最通用(通常是最底层)代理,并在"git config --global http.proxy"命令中使用我的凭据来实现它.
我已经问过如何通过代理服务器使git工作:
但上述问题没有提及PAC脚本.
是否有一些设置可以直接使用proxy.pac脚本?
我正在重写一个大网站,需要非常扎实的架构,这里是我的几个问题,请原谅我混合苹果和橙子,也许还有奇异果:)我做了很多研究,最后完全糊涂了.
主要问题:您将采用哪种方法来构建一个预计会以各种方式增长的大型网站?
单个入口点,数据库中的页面数据,通过将GET变量与数据库条目相关联来拉出(?pageid = whatever)
单个入口点,页面数据在单独的文件中,包含基于GET变量(?pageid =包含whatever.php的任何内容)
MVC(好吧,伙计们,我都是为了这个,但是除了检查所有的教程和框架之外无法掌握这个概念,他们是否将"视图"存储在数据库中?从示例中可以看出,如果你有1000页相同的话它们可以由1个模型塑造,但我仍然需要1000个"视图"文件?)
PAC - 这对我来说听起来更合乎逻辑,但没有找到太多资源 - 如果这是一个好方法,你能推荐任何书籍或链接吗?
DAL/DAO/DDD - 在发布问题之前,我通过努力阅读堆栈溢出来了解这些术语.不确定它是否属于此列表
坐下来创建我自己的架构(如果没有人在这里启发我可能会这样做:)
没有提到的东西......
谢谢.
我无法使用.Net WebRequest在IE选项中获得代理自动配置(PAC)以按预期工作.
根据这篇文章:
代理检测在.NET中使用自动配置减轻用户负担
默认情况下,系统代理应设置为每个WebRequest.
这就是proxy.js pac文件的样子:
function FindProxyForURL(url, host)
{
return "PROXY ProxyServerName:3118; DIRECT;";
}
Run Code Online (Sandbox Code Playgroud)
我还看了一下这篇文章:我应该如何设置默认代理以使用默认凭据?
这建议在app.config中添加:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
Run Code Online (Sandbox Code Playgroud)
添加这个没有帮助.
我创建了一个小型控制台应用程序,只是为了测试它..这里是:
static void Main(string[] args)
{
HttpWebRequest request = null;
try
{
String resolvedAddress = WebRequest.DefaultWebProxy.GetProxy(new Uri("http://www.google.com")).ToString();
Console.WriteLine("Proxy for address is: " + resolvedAddress);
Uri m_URLToTest = new Uri("http://www.google.com");
request = WebRequest.Create(m_URLToTest) as HttpWebRequest;
request.Method = "GET";
request.KeepAlive = false;
request.Timeout = 5000;
request.Proxy = WebRequest.DefaultWebProxy;
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream()); …Run Code Online (Sandbox Code Playgroud) 我的Internet Explorer设置为具有用于Web访问的自动代理文件(所谓的PAC).有没有办法在我的Java程序中使用它呢?
我的Java代码似乎根本不使用代理.
ArrayList<Proxy> ar = new ArrayList<Proxy>(ProxySelector.getDefault().select(new URI("http://service.myurlforproxy.com")));
for(Proxy p : ar){
System.out.println(p.toString()); //output is just DIRECT T.T it should be PROXY.
}
Run Code Online (Sandbox Code Playgroud)
我还在Java控制面板(Control-> Java)上设置了我的代理脚本,但结果相同.我发现没有办法以编程方式为Java设置PAC文件.
人们使用http.proxyHost for System.setProperties(..),但这仅用于设置代理主机,而不是代理脚本(PAC文件).
我使用的是Red Hat Enterprise Linux Server 6.2版,我只有终端访问权限(没有GUI).我的公司有一个代理自动配置脚本(PAC),这是获得互联网连接的唯一方法.
我的Windows机器没问题,因为很容易在IE->工具 - > Internet选项中进行设置.但是在Linux中,特别是没有GUI,似乎没有办法使用这个PAC脚本(我已经谷歌搜索了一段时间).顺便说一句,脚本超过400行的Javascript.
谁知道如何解决这个问题?
我正在编写一个用于Firefox的自定义.pac脚本.根据我见过的众多例子,我为了调试它而散布alert(),但是没有警报弹出,即使脚本被明确调用.(我在每次更改脚本后点击"连接设置"中的"重新加载".我甚至尝试重启Firefox.)
警报是否应该来自PAC脚本?也许这是一个仅限IE的功能?
我正在使用dynatrace ajax版本,它需要一个代理服务器和密码才能连接到dynatrace服务器.
问题是我只有我们在工作中使用的.pac文件URL.
是否可以知道我的请求解析的代理服务器和端口,以便我可以直接提供代理服务器名称和密码?
我在stackoverflow社区中检查了几个链接,但他们似乎没有回答这个问题.
我正在使用带有IE8的Windows 7 64位系统.
谢谢,阿尤斯曼
shExpMatch()和之间有什么区别dnsDomainIs()
定义说:
// dnsDomainIs()
// Evaluates hostnames and returns true if hostnames match. Used mainly to match and exception individual host names.
// Example:
if (dnsDomainIs(host, ".google.com")) return "DIRECT";
// shExpMatch()
// Attempts to match hostname or URL to a specified shell expression and returns true if matched.
// Example:
if (shExpMatch(url, "*vpn.domain.com*") ||
shExpMatch(url, "*abcdomain.com/folder/*"))
return "DIRECT";
Run Code Online (Sandbox Code Playgroud)
如果我理解正确的话
shExpMatch() - 可以使用一些通配符
dnsDomainIs() - 可以使用确切的名称
是shExpMatch()优越的dnsDomainIs()