【问题标题】:How do I find out if the proxy speaks Socks v4 or v5?如何确定代理使用 Socks v4 还是 v5?
【发布时间】:2011-07-23 23:26:25
【问题描述】:

我正在尝试制作一个连接到代理的程序,但我有一个小问题,我编写了 socksv4 和 v5 协议,但我怎么知道代理是哪个版本?

我不使用标准java代理对象的原因是因为我想使用套接字通道,我基本上必须手动完成。

无关代码:

  String getIP = jTextField1.getText();
  String[] splitIP = getIP.split("\\.");
  byte[] wbytes = new byte[9];
  wbytes[0] = (byte) 0x04;
  wbytes[1] = (byte) 0x01;
  byte one = (byte) Integer.parseInt(splitIP[0]);
  byte two = (byte) Integer.parseInt(splitIP[1]);
  byte three = (byte) Integer.parseInt(splitIP[2]);
  byte four = (byte) Integer.parseInt(splitIP[3]);
  checkC = new int[liveCon.length];
  int pSlot = liveCon.length;
  int[] standBy = new int[liveCon.length];

【问题讨论】:

    标签: java sockets proxy connect socks


    【解决方案1】:

    我认为通常的方法是尝试连接v5,如果服务器拒绝,则使用 v4 重试。

    (客户端发送的第一条消息的第一个字节是版本号。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多