Python 3的新手。通过书籍和网络自学。
目前正在使用Python 3.6和PyCharm 2016.3.2
有一个小程序,PyCharm说语法上很好(绿色复选标记) 但是当我运行它时,我得到了这个错误:
TypeError: a bytes-like object is required, not 'str'
代码的第9行。我已查找错误,但我没有看到我的程序中我提交此错误的位置。有人可以指出我的错误所在吗?
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # This is the line that PyCharm flags as causing the problem.
谢谢。
import socket
import os
user_url = input("Enter url: ")
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
host_name = user_url.split("/")[2]
mysock.connect((host_name, 80))
mysock.send('GET ' + user_url + ' HTTP/1.0\n\n')
except ValueError:
print("Please enter a valid URL")
os.sys.exit(1)
while True:
data = mysock.recv(512)
if len(data) < 1:
break
print(data)
mysock.close()