如何设置PAC文件以使用SOCKS代理进行身份验证?
以这个简单的PAC文件为例:
function FindProxyForURL(url, host) { return "SOCKS 69.123.133.75:7257;"; }
Run Code Online (Sandbox Code Playgroud)
您将如何使用用户名和密码连接到该socks代理?
有没有办法在PHP中使用带有curl的代理pac文件?我希望我的Web服务器能够通过我公司的代理访问外部网页,但是使用了pac文件而不是静态IP +端口。我可以卷曲吗?
在MVC它就像http://www.yourdomain.com/sampleController/sampleAction/如果你打电话只是/sampleController/那么/sampleController/indexAction/,如果你只需要调用/然后/indexController/indexAction/火灾.
当然也有例外,但这或多或少都是惯例.
Zend有一些smilir.他们称之为模块.
它们基本上只是包含MVC逻辑的文件夹.所以你可以打电话/Module1/Controller/Action/.如果你只是打电话/Module1/然后/Module1/indexController/indexAction/开火.如果你有一个巨大的项目,它很方便,因为你可以构建更多,但如果你只有一个小项目它很烦人.
所以我非常喜欢HMVC/PAC的想法,并希望在我的框架中采用它.
我是否正确理解它与Zend基本相同但是具有无限的嵌套模块?
所以我举个例子/sub-project/sub-sub-project/controller/action/?
如果我打电话给/ A/B/C/D /那是什么惯例.
它是指模块A/B中控制器C中的动作D吗?或模块A/B/C中控制器D的IndexAction?
让我们举一个例子:
Content
ToplistController
AdministrateAction
IndexAction
ContentController
ToplistAction
Users
Chat
RoomController
IndexAction
Run Code Online (Sandbox Code Playgroud)
我现在调用URL /content/toplist/.
对于URL,/users/chat/room/?room=1该示例使其显而易见,因为只有一种可能性.但这是正确的吗?是否存在在右侧控制器中唯一地添加正确操作的约定?
我的第一个想法是"尽量少猜".
所以我首先检查网址是否与某个动作直接匹配.
如果存在一个带有索引动作的控制器/模块,如果存在"更高级别"的匹配,则无法触发.
如果不是这种情况,我会看到url是否与控制器直接匹配并附加IndexAction.
如果不是这种情况,我会寻找一个模块并猜测IndexController和IndexAction,如果不是这种情况,我会寻找一个名为index的模块.
但我想避免这个if/else的东西和文件系统访问.所以我想知道会议是怎么回事.或者甚至有一个?我找不到任何例子!
或者做一些像调用IndexAction,如果没有指定只是没有完成,但每个"短网址"必须在单独的路由逻辑中指定?
或者我完全误解了HMVC/PAC的概念?
仅供参考:我包含了php标签,因为我在php中使用我的框架,想知道php中的约定.我经常看到其他编程语言的差异.
我正在编写一个.pac文件,用于iOS5但没有越狱,但我觉得在匹配以"https"开头的网址时遇到麻烦(例如:https://test.com).
这是我的脚本:
function FindProxyForURL(url, host) {
if (shExpMatch(url, "https://*")) return "PROXY 123.123.123.123";
return 'DIRECT';
}
Run Code Online (Sandbox Code Playgroud)
如果我匹配"https://test.com",如何将"https://123.123.123.123"返回到URL?
如何在HTTP库(如urllib或请求)中包含我的自动代理配置文件.
pacfile = 'http://myintranet.com/proxies/ourproxies.pac'
proxy = urllib3.ProxyManager(????????????????)
Run Code Online (Sandbox Code Playgroud) 我的工作场所有一个相当复杂的PAC文件,用于确定应使用哪个代理 HTTP(S) 流量来访问各种内部和外部网络。这对于 Chrome、Safari 等来说很好,但对于命令行工具(curl大多数脚本语言 HTTP 库)来说就很糟糕了。正常的解决方案是设置各种环境变量,例如HTTP_PROXYto proxy.example.com:8888,但这不适用于 PAC。相反,我们大多数人都运行某种 PAC 感知代理localhost并通过该代理发送所有内容。
我的问题是,为什么这一切首先是必要的?OSX 可以很好地评估其自身连接的 PAC 规则,但是curl等不能吗?networksetup给了我这个:
$ networksetup -listallhardwareports
Hardware Port: Wi-Fi
Device: en0
Ethernet Address: ...
$ networksetup -getproxyautodiscovery Wi-Fi
Auto Proxy Discovery: On
Run Code Online (Sandbox Code Playgroud)
我认为这意味着任何发生的事情都en0应该有代理自动发现。这是错误的吗?代理自动发现和自动配置是否发生在只能通过 Apple API(哪些浏览器等使用)访问的更高级别?(如果是这样,我如何访问它们?)
当使用GitKraken并尝试在我的公司环境中执行远程操作(推/拉/获取和可能克隆)时,我收到如下错误:
Fetch failed for 'origin'
malformed URL
[Proxy information]
Run Code Online (Sandbox Code Playgroud)
我的存储库只能在内部访问,上面的错误消息不是正确的远程.我通过验证了本地存储库中的正确远程git remote -v.我也验证了这不是git问题,因为我可以git通过命令行执行所有必要的操作.
我的组织的代理自动配置(PAC)文件已正确设置并返回DIRECT(意味着没有代理)我的远程.
问题:
如果这是一个简单的问题我很抱歉,我不熟悉这种事情.
我正在尝试确定我的代理服务器IP和端口号,以便使用谷歌日历同步程序.我使用谷歌浏览器下载了proxy.pac文件.最后一行是:
return "PROXY proxyhost:1081";
Run Code Online (Sandbox Code Playgroud)
我相信这意味着端口号是1081,但对于代理服务器,我期待格式为"proxy.example.com"的东西有什么建议吗?
谢谢
我正在尝试设置代理以在我的应用程序中使用.当我尝试将其设置为系统属性时:
Proxy proxy = ... // code to retrieve proxy from .pac file
InetSocketAddress addr = (InetSocketAddress) proxy.address();
System.setProperty("java.net.useSystemProxies", "true");
System.setProperty("http.proxyHost", addr.getHostName());
System.setProperty("http.proxyPort", Integer.toString(addr.getPort()));
Run Code Online (Sandbox Code Playgroud)
java.net.ConnectException: Connection timed out: connect当我尝试连接到URL时它会抛出:
URL url = new URL(urlToConnect);
HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection(); // Exception thrown in this line
Run Code Online (Sandbox Code Playgroud)
但是,如果我将代理设置为参数openConnection():
HttpsURLConnection httpsConnection = (HttpsURLConnection) url.openConnection(proxy);
Run Code Online (Sandbox Code Playgroud)
我的代码工作,我能够连接到URL,但这个解决方案是不切实际的,因为openConnection()我的代码中有很多.
使用它作为系统属性时,如何使其工作?