【问题标题】:How can I connect with my programm to a server trough proxy?如何通过代理将我的程序连接到服务器?
【发布时间】:2020-11-23 03:56:20
【问题描述】:

我会让我的代码。它是关于连接到 Sb0t-Server 的客户端:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Runtime.InteropServices;
namespace Antiban
{
    public partial class Form1 : Form
    {
        public Socket Socket;
        public System.Net.Sockets.NetworkStream Stream;
        public byte[] AvatarStream;

        public Form1()
        {
            InitializeComponent();
        }

        public void ConectarBot(IPAddress ip, int puerto)
        {
            Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            label1.Text = "Conectando... por favor espera...";

            try
            {
                Socket.Connect(new IPEndPoint(ip, Convert.ToInt32(puerto)));
            }

            catch(Exception ex)
            {

            }
            if (Socket.Connected == true)
            {
                label1.Text = "Conectado. Iniciando protocolo";

                Socket.Send(MSG_CHAT_CLIENT_LOGIN());

                label1.Text = "Conectado!";
            }
        }

        public byte[] MSG_CHAT_CLIENT_LOGIN()
        {
            List<byte> buffer = new List<byte>();
            buffer.AddRange(new byte[] { 2 });
            buffer.AddRange(Guid.NewGuid().ToByteArray());
            buffer.AddRange(BitConverter.GetBytes(Convert.ToInt16(666)));
            buffer.AddRange(new byte[] { 0 });
            buffer.AddRange(BitConverter.GetBytes(Convert.ToInt16(5555)));
            buffer.AddRange(new byte[]
            {
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0,
                0
            });
            buffer.AddRange(Encoding.UTF8.GetBytes(textBox1.Text));
            buffer.AddRange(new byte[] { 0 });
            buffer.AddRange(Encoding.UTF8.GetBytes("Antiban by Narciso"));
            buffer.AddRange(new byte[]
            {
                0,
                127,
                0,
                0,
                1,
                6,
                6,
                6,
                6,
                0,
                0,
                0,
                0,
                20,
                1,
                69
            });
            buffer.AddRange(Encoding.UTF8.GetBytes("Ares"));
            buffer.AddRange(new byte[] { 0 });
            buffer.InsertRange(0, BitConverter.GetBytes(Convert.ToInt16(buffer.Count - 1)));
            return buffer.ToArray();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string i = textBox2.Text;
            string p = textBox3.Text;

            ConectarBot(System.Net.IPAddress.Parse(i), int.Parse(p));
        }

        private void button2_Click(object sender, EventArgs e)
        {
            List<byte> buffer = new List<byte>();
            buffer.AddRange(new byte[] { 10 });
            buffer.AddRange(Encoding.UTF8.GetBytes(textBox4.Text));
            buffer.InsertRange(0, BitConverter.GetBytes(Convert.ToInt16(buffer.Count - 1)));
            Socket.Send(buffer.ToArray());

            textBox4.Clear();
        }
    }
}

我必须添加什么才能通过代理连接到 Sb0t-Server? 有什么想法吗?

我认为它必须先连接到代理,然后再连接到服务器。但我不知道该怎么做。

【问题讨论】:

标签: c#


【解决方案1】:

如果您不确定步骤,请尝试查看以下帖子。

Here

  1. 连接到代理。
  2. 问题CONNECT Host:Port HTTP/1.1&lt;CR&gt;&lt;LF&gt;
  3. 问题&lt;CR&gt;&lt;LF&gt;
  4. 等待响应行。如果包含HTTP/1.X 200,则连接成功。
  5. 阅读更多响应行,直到收到空行。
  6. 现在,您通过代理连接到外部世界。进行任何您想要的数据交换。

【讨论】:

  • 请使用答案下方的“标志”链接并选择重复选项。用重复的链接回答重复通常是不受欢迎的。
  • 谢谢 Mike McCaughan 我会做的
  • 您好 Mike McCaughan,您好 Joshua Duxbury,您给我的链接仅适用于网络。但我想连接到 Sb0t-Server。谢谢:)
猜你喜欢
  • 1970-01-01
  • 2012-02-29
  • 2023-03-29
  • 2014-06-27
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多