码迷,mamicode.com
首页 > 编程语言 > 详细

Python3编写TCP客户端

时间:2020-05-08 22:55:37      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:obj   port   print   报错   编写   链接   解决   错误   bytes   

  建立一个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)

 

Python3编写TCP客户端

标签:obj   port   print   报错   编写   链接   解决   错误   bytes   

原文地址:https://www.cnblogs.com/aaron456-rgv/p/12853428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!