验证抛出鱿鱼代理(PHP套接字)
我想创建一个可以验证抛出 Squid 代理的程序。 我在 PHP 语言中使用套接字
I'd like to create a program which could authenticate throw Squid proxy.
I'm using socket in PHP langage
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
内置 streams 和 cURL 扩展 能够通过代理发出请求。使用任何一个都比直接使用套接字要好得多。
cURL 扩展明确提及代理身份验证,而 Streams 没有明确提及它,但接受代理作为 URI,因此您可以使用
proto://user:pass@host:port
句法。我没有尝试过,也不知道这是否有效。Both built-in streams and the cURL extension have the ability to make requests through a proxy. Using either would be vastly preferable to using a socket directly.
The cURL extension expressly mentions proxy authentication, while streams does not expressly mention it, but accepts the proxy as a URI, so you might be able to use the
proto://user:pass@host:port
syntax. I have not tried, and don't know for sure if that works.我假设您的意思是您想要通过需要身份验证的代理发出 HTTP 请求,而不是使用 Squid 中的身份验证方法来验证对您的网络服务器的请求。
您只需为 CURLOPT_PROXYAUTH、CURLOPT_PROXYPORT(通常为 3128)和 CURLOPT_PROXYTYPE (http) 设置正确的值。
请注意,这假定鱿鱼配置为 HTTP 身份验证(而不是基于会话或 NTLM 的身份验证)。
您真的不想在 PHP 中使用套接字来执行此操作。
HTH
C.
I assume that you mean you want to make a HTTP request via a proxy which requires authentication rather than use the authentication method within Squid to validate requests to your webserver.
You just need to set the right values for CURLOPT_PROXYAUTH CURLOPT_PROXYPORT (usually 3128) and CURLOPT_PROXYTYPE (http)
Note that this assumes that the squid is configured for HTTP authentication (rather than session or NTLM based authentication).
You really don't want to do this using sockets in PHP.
HTH
C.