Python3编写TCP客户端
建立一个TCP客户端,首先我们需要创建一个“对象”然后通过这个对象来帮助我们来做发送消息等一系列的操作。详细如下代码:
import 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)