首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WTelegramClient如何应用代理设置?

WTelegramClient如何应用代理设置?
EN

Stack Overflow用户
提问于 2022-07-01 13:43:32
回答 1查看 202关注 0票数 2

使用WTelegramClient库编写了一个应用程序。有一个任务是使用代理服务器设置连接到Internet:地址、端口、用户名、密码。

现在,连接是在没有代理的情况下建立的。我们声明变量:

代码语言:javascript
复制
using TL;

private WTelegram.Client _client;
private User _user;
private TelegramSettings telegramSettings = null;

我们用价值填充它:

代码语言:javascript
复制
private void saveSettingButton_Click(object sender, EventArgs e)
{
    if (telegramSettings == null) telegramSettings = new TelegramSettings();
    telegramSettings.UseProxy = checkEditUseProxy.Checked;
    telegramSettings.ProxyHost = textEditProxyHost.Text.Trim();
    telegramSettings.ProxyPort = textEditProxyPort.Text.Trim() == "" ? 0 : Convert.ToInt32(textEditProxyPort.Text.Trim());
    telegramSettings.ProxyUserName = textEditProxyUserName.Text.Trim();
    telegramSettings.ProxyPassword = textEditProxyPassword.Text.Trim();
    telegramSettings.PhoneNumber = (string)textBoxPhone.EditValue;
    telegramSettings.API_Hash = textBoxApiHash.Text.Trim();
    telegramSettings.API_ID = textBoxApiID.Text.Trim();
}

对图上的С进行更改:

代码语言:javascript
复制
string Config(string what)
{
    switch (what)
    {
        case "api_id": return telegramSettings.API_ID;
        case "api_hash": return telegramSettings.API_Hash;
        case "phone_number": return telegramSettings.PhoneNumber;
        case "verification_code":
        case "password":        // if user has enabled 2FA
            BeginInvoke(new Action(() => CodeNeeded(what.Replace('_', ' '))));
            _codeReady.Reset();
            _codeReady.Wait();
            return textBoxCode.Text;
        case "first_name":
        case "last_name":
            return null;        // if sign-up is required
        default: return null;
    };
}

连接中

代码语言:javascript
复制
_client = new WTelegram.Client(Config);
_user = await _client.LoginUserIfNeeded();

如何应用代理设置?

EN

回答 1

Stack Overflow用户

发布于 2022-07-01 16:32:36

在WTelegramClient中使用代理是在示例文档中描述的

在登录前设置TcpHandler:

代码语言:javascript
复制
    client.TcpHandler = async (address, port) =>
    {
        var proxy = new Socks5ProxyClient(ProxyHost, ProxyPort, ProxyUsername, ProxyPassword);
        return proxy.CreateConnection(address, port);
    };
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72830223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档