
import socket target_host = "cn.bing.com" target_port = 80 client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((target_host,target_port)) client.send("GET / HTTP/1.1\r\nHost:cn.bing.com\r\n\r\n") respOnse= client.recv(4096) print(response) python 初学者,错误提示是需要把 str encode 到字节流:
但是还是不知道怎么做才好。。
烦请 v 友指点下,谢谢!
1 maltoze 2020 年 4 月 9 日 client.send(b"GET / HTTP/1.1\r\nHost:cn.bing.com\r\n\r\n") |
2 Mithrandir 2020 年 4 月 9 日 man 2to3 |
3 mns 2020 年 4 月 9 日 |
4 gimp 2020 年 4 月 9 日 str_data = "GET / HTTP/1.1\r\nHost:cn.bing.com\r\n\r\n" b_str_data = str_data.encode() |
6 gimp 2020 年 4 月 9 日 如果需要动态拼接内容,就用 encode() 编码后发送,固定值可以用 b"" 来标注内容类型。 |
7 leavic 2020 年 4 月 9 日 我不知道我理解对不对 1 、用引号圈起来的默认是 string 2 、跟机器交互一般都用过 bytes 数据,不是 string 3 、string encode 成 bytes 给机器用,bytes decode 成 string 给人读。 |
8 linvaux 2020 年 4 月 9 日 貌似有个工具 2to3 可以转 |