gpt4 book ai didi

python - 如何使用twisted通过UDP协议(protocol)发送参数

转载 作者:行者123 更新时间:2023-12-01 05:51:41 25 4
gpt4 key购买 nike

如何使用twisted连接到以下网址并从跟踪器获取响应。udp://tracker.publicbt.com:80/announce?uploaded=0&downloaded=0&compact=1&event=started&peer_id=kovid_agarwal1235467&port=6881&info_hash=3389809f0c9096819294a680beb4adb96a738419&left=763922958

我尝试了以下代码,但收到连接 ID 不匹配错误

from twisted.internet.protocol import DatagramProtocol
from MakeUrlRequest import encoded_Value


class SendAndReceiveUDP(DatagramProtocol):

def startProtocol(self):
self.transport.connect("31.172.124.3",80)
self.transport.write(encoded_Value())


def datagramReceived(self, datagram, addr):
print "Received %r" %datagram
from twisted.internet import reactor
udpclient=SendAndReceiveUDP()
reactor.listenUDP(6881,udpclient)
reactor.run()

上面的encoded_Value只不过是如下值:上传=0&下载=0&紧凑=1&事件=开始&peer_id=kovid_agarwal1235467&端口=6881&info_hash=3389809f0c9096819294a680beb4adb96a738419&left=763922958

最佳答案

根据http://en.wikipedia.org/wiki/UDP_tracker ,用于与 Bittorrent 跟踪器交换数据的基于 UDP 的协议(protocol)使用“自定义二进制格式”。您发送的数据看起来不符合此格式。因此,您收到的错误可能表明您需要以不同的方式格式化您的请求。请参阅http://www.bittorrent.org/beps/bep_0015 .html 了解有关该格式的更多详细信息。

关于python - 如何使用twisted通过UDP协议(protocol)发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14012955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com