如何从C#向邮政电报API发送发帖请求?

时间:2019-07-25 09:55:28

标签: c# api post telegram

我的电报应用程序带有应用程序的api_id和应用程序的api_hash。

我使用TLSharp库实现自己的东西。但是,现在我需要使用此https://core.telegram.org/method/auth.checkPhone电报api方法,但尚未在TLSharp库中实现!

我不介意手动执行所有操作,但是我不知道如何操作!

我知道您如何使用C#发送发帖请求,例如:

  

var response =等待client.PostAsync(“ http://www.example.com/index”,content);

但是在这种情况下我没有。因为我不知道:

1)我应该使用哪个链接发送帖子请求?我在电报的网站上找不到它。

2)我应该在那里传递什么内容?应该只是“(auth.checkPhone“ +380666454343”)“还是整个”(auth.checkPhone“ +380666454343”)=(auth.checkedPhonephone_registered:(boolFalse)phone_invited:(boolFalse))“?

那么,我如何将此发帖请求发送到电报api? (不要电报bot api!)

2 个答案:

答案 0 :(得分:0)

尝试像本例中那样使用System.Net.Http(对服务器的身份验证请求):

var user = new { login = "your login", password = "your pass" };
string json = JsonConvert.SerializeObject(user);
HttpContent content = new StringContent(json, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage();
request.RequestUri = new Uri("server route link"); // can be like https://a100.technovik.ru:1000/api/auth/authenticate
request.Method = HttpMethod.Post;
request.Content = content;
HttpResponseMessage response = await client.SendAsync(request);
responseText.Text =  await response.Content.ReadAsStringAsync();

答案 1 :(得分:0)

认为是基于一个简短的外观,它会更类似于您的第二个示例,例如:

var phonenumber = "0123456789";
var content = 
    $@"(auth.checkPhone ""{phonenumber}"")"+
    "=(auth.checkedPhone phone_registered: (boolFalse) phone_invited:(boolFalse))";
var result = DoHttpPost("http://some.example.com/api/etc", content);

(注意:我没有在此处列出HTTP请求的实际机制,因为其他地方对此进行了详细介绍-尤其是在提供给您的其他当前答案中; DoHttpPost()是不是真正的方法,在这里仅作为此过程的占位符存在

由于此有效负载似乎指示所需的确切功能和参数,因此您只需将其发送到用于所有操作的基本api端点即可,但是我不能肯定地说...

我确实注意到它们似乎确实具有指向网站上各种应用程序的源代码的链接,所以也许您最好不去那里看看?