类型错误:需要类似字节的对象,而不是';str';尝试使用python从网页获取数据时
我在上coursera的讲座,复制了讲座视频中的代码,但不知怎么的,它不起作用。代码试图从网页检索数据,但出现类型错误类型错误:需要类似字节的对象,而不是';str';尝试使用python从网页获取数据时,python,bash,http,Python,Bash,Http,我在上coursera的讲座,复制了讲座视频中的代码,但不知怎么的,它不起作用。代码试图从网页检索数据,但出现类型错误 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') while Tru
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')
while True:
data = mysock.recv(512)
if(len(data)< 1):
break
print(data)
mysock.close()
导入套接字
mysock=socket.socket(socket.AF\u INET,socket.SOCK\u流)
connect(('www.py4inf.com',80))
mysock.send('GEThttp://www.py4inf.com/code/romeo.txt HTTP/1.0\n\n')
尽管如此:
data=mysock.recv(512)
如果(len(数据)<1):
打破
打印(数据)
mysock.close()
错误如下:
Traceback (most recent call last):
File "cheese.py", line 4, in <module>
mysock.send('GET http://www.py4inf.com/code/romeo.txt HTTP/1.0\n\n')
TypeError: a bytes-like object is required, not 'str'
回溯(最近一次呼叫最后一次):
文件“cheese.py”,第4行,在
mysock.send('GEThttp://www.py4inf.com/code/romeo.txt HTTP/1.0\n\n')
TypeError:需要类似字节的对象,而不是“str”
只需更换
mysock.send('GET http://www.py4inf.com/code/romeo.txt HTTP/1.0\n\n')
与
在Python3中,字符串是用Unicode编码的,发送时需要一个类似字节的对象
只需将ab
放在字符串前面即可,即
b'...'
您正在发送
str
对象,但套接字只接受字节。如果coursera课程是这样告诉你的,那么切换到Python2,或者切换课程。为什么要添加标签?请在发布前查看您使用的标签。
b'...'