1

I'm trying to use the Telegram API via http (documentation on their site says this is possible) to authorize, following these instructions:

https://core.telegram.org/mtproto/auth_key#dh-exchange-initiation

https://core.telegram.org/mtproto/description#unencrypted-message

However, I cannot get any response from the server except a 404 page. Here is the code I'm using:

async Task<String> SendAuthorizeRequestTEST()
    {
        HttpClient client = new HttpClient();

        String message = "req_pq#60469778 3761821:int128 = ResPQ";

        HttpContent content = new ByteArrayContent(Packetify(message));

        HttpResponseMessage msg = await client.PostAsync(new Uri("http://149.154.167.40:443"), content);

        byte[] bytes = await msg.Content.ReadAsByteArrayAsync();

        return Encoding.UTF8.GetString(bytes);
    }

public byte[] Packetify(String message)
{
    var memoryStream = new MemoryStream();
    var binaryWriter = new BinaryWriter(memoryStream);

    byte[] messageBytes = Encoding.UTF8.GetBytes(message);

    binaryWriter.Write(0); //auth_key_id
    binaryWriter.Write(1234567); //message_id
    binaryWriter.Write(messageBytes.Length); //message_data_length
    binaryWriter.Write(messageBytes); //message_data

    byte[] packet = memoryStream.ToArray();

    memoryStream.Dispose();
    binaryWriter.Dispose();

    return packet;
}

What am I doing wrong?

Brian Rasmussen
  • 114,645
  • 34
  • 221
  • 317

1 Answers1

0

You could study what webogram does. It uses the HTTP protocol to speak to telegram.

Further more here are some steps you can use to move along quickly

https://stackoverflow.com/a/34929980/44080

cheers.

Community
  • 1
  • 1
Charles Okwuagwu
  • 10,538
  • 16
  • 87
  • 157