Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类型错误:需要类似字节的对象,而不是';str';尝试使用python从网页获取数据时_Python_Bash_Http - Fatal编程技术网

类型错误:需要类似字节的对象,而不是';str';尝试使用python从网页获取数据时

类型错误:需要类似字节的对象,而不是';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

我在上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 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编码的,发送时需要一个类似字节的对象

只需将a
b
放在字符串前面即可,即

b'...'

您正在发送
str
对象,但套接字只接受字节。如果coursera课程是这样告诉你的,那么切换到Python2,或者切换课程。为什么要添加标签?请在发布前查看您使用的标签。
b'...'