我在上Coursera的Python课程。我尝试使用Python3.5运行幻灯片中提供的以下示例代码:
import socket
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('www.py4inf.com', 80))
mysock.send('GET http://www.py4inf.com/code/romeo.txt HTTP/1.0\n\n')
但是我收到了一个错误:
TypeError: a bytes-like object is required, not 'str'
有人知道怎么解决这个问题吗?我想这可能是因为Python的版本。课程使用的是python2.X
看看docs。它声明
send
接受一个bytes
参数。您正在传递一个str
。这也是错误消息所说的完全相同的事情。在要使示例正常工作,请使用
bytes
文本:注意^{前面的b
我们的您可以encode您的字符串:
^{pr2}$编辑:
你是对的:在python2中,
socket.send
期望一个str
,正如可以看到的here相关问题 更多 >
编程相关推荐