如何在python中通过udp(DTLS)套接字实现http / 3协议?

0x暗影

我读到http / 3使用UDP而不是TCP来发送请求,因此使它更快,而且我确实需要http / 3的速度,那么该怎么做才能在python中实现呢?我根据对协议的了解编写了以下代码:

这是一个超文本协议,您使用UDP而不是TCP,将数据包中的http / 1.1更改为http / 3,然后发送它。

而且我认为我错了。

这是我写的代码:

import socket
from OpenSSL import SSL # for DTLS

connection = 'close' # or keep-alive

protocol = 'HTTP/3' # or HTTP/1.1

packet = f'GET / {protocol}\r\nHost: i.instagram.com\r\nConnection: {connection}\r\n\r\n'

def callback(conn, cert, errnum, depth, ok): cert.get_subject(); return ok

# Initialize context
ctx = SSL.Context(SSL.TLSv1_2_METHOD)
ctx.set_verify(SSL.VERIFY_PEER, callback) # Demand a certificate

# Set up client
client = SSL.Connection(ctx, socket.socket(socket.AF_INET, socket.SOCK_DGRAM))
addr = ('i.instagram.com', 443) #using DTLS
client.connect(addr)


buffer = packet.encode()
client.sendall(buffer) # it stuck here
print(sock.recv(4096))
德米特里

可以肯定可以在Python中实现HTTP / 3。它已经完成了:检出aioquic

另外,请查看最新的QUICHTTP / 3 Internet草案。您幼稚的实现是基于错误的假设。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Swift 3中创建ValidIndexCollection协议

来自分类Dev

如何在Apache ActiveMQ中禁用SSLv3协议?

来自分类Dev

如何在Apache ActiveMQ中禁用SSLv3协议?

来自分类Dev

如何在Swift 3中查看UITableViewDataSource协议?

来自分类Dev

如何在swift 3中扩展协议的功能?

来自分类Dev

Swift 3协议中的static关键字

来自分类Dev

Swift 3协议中的static关键字

来自分类Dev

Python 3中的协议缓冲区-NotImplementedError

来自分类Dev

AS3压缩字符串以通过POST协议发送

来自分类Dev

Spring3:如何注册我自己的资源前缀/协议

来自分类Dev

POP3协议如何两次获取邮件

来自分类Dev

解决Swift 3中缺乏递归协议约束的问题

来自分类Dev

如何通过python3x中的套接字正确发送字典的内容?

来自分类Dev

如何在C中的TCP套接字上构建协议标头和主体

来自分类Dev

在Openproject.org中请求API v.3时如何使用http / 2协议

来自分类Dev

通过UDP解码协议

来自分类Dev

如何在Jetty中禁用SSLv3协议以防止贵宾犬攻击

来自分类Dev

我该如何提高Python 3中的套接字性能?

来自分类Dev

如何在Twisted中更新UDP协议实例的值?

来自分类Dev

Python3中的Google协议缓冲区(protobuf)-ParseFromString的问题(编码?)

来自分类Dev

如何在UDP协议上同步通信?

来自分类Dev

如何在UDP协议上同步通信?

来自分类Dev

C ++ Google协议缓冲区打开http套接字

来自分类Dev

无法从仅使用s3a的s3协议的S3存储桶中读取

来自分类Dev

如何更改Weblogic T3协议的默认侦听端口7001

来自分类Dev

如何更改Weblogic T3协议的默认侦听端口7001

来自分类Dev

Python3; 发送数据时的速度:IRC协议,DCC文件传输

来自分类Dev

Python3; 发送数据时的速度:IRC协议,DCC文件传输

来自分类Dev

Weblogic服务器中的t3协议是什么?

Related 相关文章

  1. 1

    在Swift 3中创建ValidIndexCollection协议

  2. 2

    如何在Apache ActiveMQ中禁用SSLv3协议?

  3. 3

    如何在Apache ActiveMQ中禁用SSLv3协议?

  4. 4

    如何在Swift 3中查看UITableViewDataSource协议?

  5. 5

    如何在swift 3中扩展协议的功能?

  6. 6

    Swift 3协议中的static关键字

  7. 7

    Swift 3协议中的static关键字

  8. 8

    Python 3中的协议缓冲区-NotImplementedError

  9. 9

    AS3压缩字符串以通过POST协议发送

  10. 10

    Spring3:如何注册我自己的资源前缀/协议

  11. 11

    POP3协议如何两次获取邮件

  12. 12

    解决Swift 3中缺乏递归协议约束的问题

  13. 13

    如何通过python3x中的套接字正确发送字典的内容?

  14. 14

    如何在C中的TCP套接字上构建协议标头和主体

  15. 15

    在Openproject.org中请求API v.3时如何使用http / 2协议

  16. 16

    通过UDP解码协议

  17. 17

    如何在Jetty中禁用SSLv3协议以防止贵宾犬攻击

  18. 18

    我该如何提高Python 3中的套接字性能?

  19. 19

    如何在Twisted中更新UDP协议实例的值?

  20. 20

    Python3中的Google协议缓冲区(protobuf)-ParseFromString的问题(编码?)

  21. 21

    如何在UDP协议上同步通信?

  22. 22

    如何在UDP协议上同步通信?

  23. 23

    C ++ Google协议缓冲区打开http套接字

  24. 24

    无法从仅使用s3a的s3协议的S3存储桶中读取

  25. 25

    如何更改Weblogic T3协议的默认侦听端口7001

  26. 26

    如何更改Weblogic T3协议的默认侦听端口7001

  27. 27

    Python3; 发送数据时的速度:IRC协议,DCC文件传输

  28. 28

    Python3; 发送数据时的速度:IRC协议,DCC文件传输

  29. 29

    Weblogic服务器中的t3协议是什么?

热门标签

归档