import socket
# 创建socket
client = socket.socket()
# 将原来阻塞的位置变成非阻塞(报错)
client.setblocking(False)

# 百度创建连接: 阻塞
try:
    # 执行了但报错了
    client.connect(('www.baidu.com',80))
except BlockingIOError as e:
    pass

# 检测到已经连接成功

# 问百度我要什么?
client.sendall(b'GET /s?wd=alex HTTP/1.0\r\nhost:www.baidu.com\r\n\r\n')

# 我等着接收百度给我的回复
chunk_list = []
while True:
    # 将原来阻塞的位置变成非阻塞(报错)
    chunk = client.recv(8096) 
    if not chunk:
        break
    chunk_list.append(chunk)

body = b''.join(chunk_list)
print(body.decode('utf-8'))

相关文章:

  • 2021-07-20
  • 2022-12-23
  • 2021-04-24
  • 2021-07-24
  • 2022-12-23
  • 2021-07-24
  • 2022-02-18
  • 2022-12-23
猜你喜欢
  • 2021-09-20
  • 2021-04-02
  • 2021-08-31
  • 2022-12-23
  • 2022-12-23
  • 2021-08-22
相关资源
相似解决方案