我在大学的代理服务器后面。它使用简单的用户名和密码身份验证。我连接到代理服务器的端口 3128。现在我想通过 telnet 简单地说互联网上的任何网站,例如
$ telnet www.google.com 80
这给了我
error telnet: could not resolve www.udacity.com/80: Name or service not known
如何定义 telnet 的代理设置?我已经设置了环境变量http_proxy
和HTTP_PROXY
.还应用了系统范围的代理。
答案1
你可以做浏览器所做的事情,即连接到代理,
$ telnet proxy-server 3128
并与它交谈。如果没有身份验证,则带有完整主机名和协议的简单GET
请求(后跟两个换行符 ( )),例如Enter
GET http://www.google.com/ HTTP/1.1
应该足够了。由于您需要身份验证,因此您需要在Proxy-Authentication
标头中提供 Base64 编码的用户名和密码,例如
GET http://www.google.com/ HTTP/1.1
Proxy-Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
要创建 base64 字符串,您可以使用echo -n username:password | openssl base64
答案2
您可以为此使用代理链。
首先使用以下命令安装 proxychains:
$ apt-get install proxychains
/etc/proxychains.conf
然后在文件中配置您的代理设置。
最后添加 HTTP 和 HTTPS 代理的这些行。
http proxy-ip proxy-port username password
https proxy-ip proxy-port username password
现在您可以使用以下命令进行telnet:
$ proxychains telnet www.google.com 80