Python 电报Api-创建授权密钥404错误

Python 电报Api-创建授权密钥404错误,python,post,telegram,Python,Post,Telegram,我正试图用python编写一个简单的程序来使用电报api(不是bot api,主消息api),现在我已经编写了这段代码 我已经阅读了和其他许多文档,但没有发现我的问题 提前谢谢 更新 我按照建议使用了这个代码 TCP_IP = '149.154.167.40' TCP_PORT = 80 MESSAGE = 'ef0000000000000000'+"{0:0{1}x}".format(int(time.time()*4294.967296*1000),16)+'14000000789746

我正试图用python编写一个简单的程序来使用电报api(不是bot api,主消息api),现在我已经编写了这段代码

我已经阅读了和其他许多文档,但没有发现我的问题 提前谢谢

更新 我按照建议使用了这个代码

TCP_IP = '149.154.167.40'
TCP_PORT = 80

MESSAGE = 'ef0000000000000000'+"{0:0{1}x}".format(int(time.time()*4294.967296*1000),16)+'140000007897466068edeaecd1372139bbb0394b6fd775d3'

BUFFER_SIZE = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(bytes.fromhex(MESSAGE))
data = s.recv(BUFFER_SIZE)
s.close()
我仍然没有得到回应 我的请求:

0000   34 08 04 17 7a ec 48 5d 60 84 ba ed 08 00 45 00
0010   00 51 e1 44 40 00 40 06 5a ea c0 a8 01 0d 95 9a
0020   a7 28 df 8c 00 50 e4 0d 12 46 e2 98 bf a3 50 18
0030   72 10 af 66 00 00 ef 00 00 00 00 00 00 00 00 00
0040   16 37 dc e1 28 39 23 14 00 00 00 78 97 46 60 68
0050   ed ea ec d1 37 21 39 bb b0 39 4b 6f d7 75 d3
固定代码 终于可以用这个代码工作了

import socket
import random
import time
import struct
import requests

def swap32(i):
        return struct.unpack("<L", struct.pack(">L", i))[0]

TCP_IP = '149.154.167.40'
TCP_PORT = 80
z = int(time.time()*4294.967296*1000000)
z = format(z,'x')
q = bytearray.fromhex(z)
e = q[::-1].hex()
MESSAGE = 'ef0a0000000000000000'+e+'140000007897466068edeaecd1372139bbb0394b6fd775d3'

BUFFER_SIZE = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(bytes.fromhex(MESSAGE))
data = s.recv(BUFFER_SIZE)
s.close()

print(data)
导入套接字
随机输入
导入时间
导入结构
导入请求
def swap32(i):
返回结构解包(“L”,i))[0]
TCP_IP='149.154.167.40'
TCP_端口=80
z=int(time.time()*4294.967296*1000000)
z=格式(z,'x')
q=从十六进制(z)开始的字节数组
e=q[:-1].hex()
消息='EF0A0000000000'+e+'140000007897466068EDEACD1372139BBB0394B6FD775D3'
缓冲区大小=1024
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s、 连接((TCP_IP,TCP_端口))
s、 发送(字节。从十六进制(消息))
数据=s.recv(缓冲区大小)
s、 关闭()
打印(数据)

以下是与电报服务器进行简单TCP握手的示例数据:

Connect:Success:0
Connected to 149.154.167.40:443

    raw_data: 000000000000000000F011DB3B2AA9561400000078974660A9729A4F5B51F18F7943F9C0D61B1315
 auth_key_id: 0000000000000000  0
  message_id: 56A92A3BDB11F000  6244568794892726272
 data_length: 00000014  20
message_data: 78974660A9729A4F5B51F18F7943F9C0D61B1315
message_type: 60469778

>> EF0A000000000000000000F011DB3B2AA9561400000078974660A9729A4F5B51F18F7943F9C0D61B1315
Send:Success:42
Receive:Success:85
<< 15000000000000000001CC0CC93D2AA9564000000063241605A9729A4F5B51F18F7943F9C0D61B1315B4445B94718B3C6DD4136466FAC62DCD082311272BE9FF8F9700000015C4B51C01000000216BE86C022BB4C3

    raw_data: 000000000000000001CC0CC93D2AA9564000000063241605A9729A4F5B51F18F7943F9C0D61B1315B4445B94718B3C6DD4136466FAC62DCD082311272BE9FF8F9700000015C4B51C01000000216BE86C022BB4C3
 auth_key_id: 0000000000000000  0
  message_id: 56A92A3DC90CCC01  6244568803180334081
 data_length: 00000040  64
message_data: 63241605A9729A4F5B51F18F7943F9C0D61B1315B4445B94718B3C6DD4136466FAC62DCD082311272BE9FF8F9700000015C4B51C01000000216BE86C022BB4C3
message_type: 05162463


     classid: resPQ#05162463
       nonce: A9729A4F5B51F18F7943F9C0D61B1315
server_nonce: B4445B94718B3C6DD4136466FAC62DCD
          pq: 2311272BE9FF8F97  2526843935494475671
       count: 00000001  1
fingerprints: C3B42B026CE86B21  14101943622620965665

与你的相比:

0000000000000000
6C28224A94A9C956
14000000
78974660
68EDEAECD1372139BBB0394B6FD775D3
我会说,尝试使用TCP简化模式,包括
0xEF
起始位,然后重新检查
msg\u id
计算


干杯。

假设您正在使用TCP,第一条消息的第一个字节必须是0xEF谢谢,这对msg_id有效吗?(格式(int(time.time()*4294.967296*1000),16),我的消息id有问题吗?因为我按照你说的方式使用tcp,但仍然没有得到响应time.time()是什么return?TCP在哪个端口上?443和80,都工作正常我使用端口80,我不知道问题出在哪里,一切似乎都很好,在http post上我得到404方法未找到错误您的
msg_id%4
必须==0
Connect:Success:0
Connected to 149.154.167.40:443

    raw_data: 000000000000000000F011DB3B2AA9561400000078974660A9729A4F5B51F18F7943F9C0D61B1315
 auth_key_id: 0000000000000000  0
  message_id: 56A92A3BDB11F000  6244568794892726272
 data_length: 00000014  20
message_data: 78974660A9729A4F5B51F18F7943F9C0D61B1315
message_type: 60469778

>> EF0A000000000000000000F011DB3B2AA9561400000078974660A9729A4F5B51F18F7943F9C0D61B1315
Send:Success:42
Receive:Success:85
<< 15000000000000000001CC0CC93D2AA9564000000063241605A9729A4F5B51F18F7943F9C0D61B1315B4445B94718B3C6DD4136466FAC62DCD082311272BE9FF8F9700000015C4B51C01000000216BE86C022BB4C3

    raw_data: 000000000000000001CC0CC93D2AA9564000000063241605A9729A4F5B51F18F7943F9C0D61B1315B4445B94718B3C6DD4136466FAC62DCD082311272BE9FF8F9700000015C4B51C01000000216BE86C022BB4C3
 auth_key_id: 0000000000000000  0
  message_id: 56A92A3DC90CCC01  6244568803180334081
 data_length: 00000040  64
message_data: 63241605A9729A4F5B51F18F7943F9C0D61B1315B4445B94718B3C6DD4136466FAC62DCD082311272BE9FF8F9700000015C4B51C01000000216BE86C022BB4C3
message_type: 05162463


     classid: resPQ#05162463
       nonce: A9729A4F5B51F18F7943F9C0D61B1315
server_nonce: B4445B94718B3C6DD4136466FAC62DCD
          pq: 2311272BE9FF8F97  2526843935494475671
       count: 00000001  1
fingerprints: C3B42B026CE86B21  14101943622620965665
EF0A000000000000000000F011DB3B2AA956140000007897466055555555555555555555555555555555
EF0A
0000000000000000
00F011DB3B2AA956
14000000
78974660
55555555555555555555555555555555
0000000000000000
6C28224A94A9C956
14000000
78974660
68EDEAECD1372139BBB0394B6FD775D3