如何查找代理是Http还是Socks

如何查找代理是Http还是Socks,http,proxy,socks,Http,Proxy,Socks,谁能告诉我如何找到http或socks代理服务器?是基于端口号吗?它有何不同 提前感谢否,代理类型不基于端口号。端口由网络管理员分配,可以是他们想要的任何端口 您唯一的希望是,如果您的网络配置为使用某种类型的代理,以便在需要时向客户端提供特定的代理详细信息 否则,无法查询代理本身。您必须提前知道它是什么类型的代理,以便知道如何正确地与它通信。尝试以下脚本: $ cat get_version.py #!/usr/bin/python import struct import socket i

谁能告诉我如何找到http或socks代理服务器?是基于端口号吗?它有何不同


提前感谢

否,代理类型不基于端口号。端口由网络管理员分配,可以是他们想要的任何端口

您唯一的希望是,如果您的网络配置为使用某种类型的代理,以便在需要时向客户端提供特定的代理详细信息

否则,无法查询代理本身。您必须提前知道它是什么类型的代理,以便知道如何正确地与它通信。

尝试以下脚本:

$ cat get_version.py 
#!/usr/bin/python

import struct
import socket
import sys


try:
        server = sys.argv[1]
        port = sys.argv[2]
except:
        print "Usage: server port"

try:
        sen = struct.pack('BBB', 0x05, 0x01, 0x00)
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect(( server , int( port )  ))
        s.sendall(sen)
        data = s.recv(2)
        s.close()
        version, auth = struct.unpack('BB', data)
        print 'server : port  is  ', server, ':', port, '; varsion: ', version
except Exception as e:
        print e

尝试使用http:
curl-xhttp://x.x.x.x:y 检查主机.net/ip
。如果失败,请尝试使用socks:
curl-xsocks://x.x.x.x:y 检查host.net/ip

您想知道为什么?我使用的是一个只支持http代理的应用程序。所以我想根据类型来区分代理,要检查的x.x.x.x:y值是什么?x.x.x.x是IP,y是要检查的端口号check@AlexanderZhak如何使用id和密码?我遇到授权错误…@user1872384请检查curl文档。这取决于服务使用的身份验证类型。您可以使用
--user username:password
键或在HTTP头中传递用户名和密码,或作为URI参数传递。这要看情况而定。像Thx Alexander ZhakTools这样的工具可以在一个端口上支持多个socks5/HTTP/HTTPS协议,并且使用您的代码似乎只能检测socks5。