使用WTelegramClient库编写了一个应用程序。有一个任务是使用代理服务器设置连接到Internet:地址、端口、用户名、密码。
现在,连接是在没有代理的情况下建立的。我们声明变量:
using TL;
private WTelegram.Client _client;
private User _user;
private TelegramSettings telegramSettings = null;我们用价值填充它:
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();
}对图上的С进行更改:
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;
};
}连接中
_client = new WTelegram.Client(Config);
_user = await _client.LoginUserIfNeeded();如何应用代理设置?
发布于 2022-07-01 16:32:36
在WTelegramClient中使用代理是在示例文档中描述的
在登录前设置TcpHandler:
client.TcpHandler = async (address, port) =>
{
var proxy = new Socks5ProxyClient(ProxyHost, ProxyPort, ProxyUsername, ProxyPassword);
return proxy.CreateConnection(address, port);
};https://stackoverflow.com/questions/72830223
复制相似问题