Python3编写TCP客户端
2021-01-26 13:15
标签:obj port print 报错 编写 链接 解决 错误 bytes 建立一个TCP客户端,首先我们需要创建一个“对象”然后通过这个对象来帮助我们来做发送消息等一系列的操作。详细如下代码: Python3编写TCP客户端 标签:obj port print 报错 编写 链接 解决 错误 bytes 原文地址:https://www.cnblogs.com/aaron456-rgv/p/12853428.htmlimport socket
target_host = "www.baidu.com"
target_port = 80
#建立一个socket对象
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
‘‘‘
1;AF_INET:表示说明我们将使用标准的IPV4地址或者说明书。
2;SOCK_STREAM:表示这是一个TCP客户端。
‘‘‘
#链接客户端
client.connect((target_host,target_port))
#发送数据
client.send(b"GET / HTTP/1.1\r\nHost: baidu.com\r\n\r\n")
‘‘‘
client.send("GET / HTTP/1.1\r\nHost: baidu.com\r\n\r\n")
错误背景:程序想创建一个TCP连接,在发送数据的时候报错,表明send函数需要传byte类型值。
类型错误:TypeError: a bytes-like object is required, not ‘str‘
解决方法:
1、在数据前面加b,强制转换
client.send(b"GET / HTTP/1.1\r\nHost: baidu.com\r\n\r\n")
2、发送数据的时候进行编码
client.send(("GET / HTTP/1.1\r\nHost: baidu.com\r\n\r\n").encode())
‘‘‘
#接收一些数据
response = client.recv(4096)
print(response)