【发布时间】:2020-05-28 11:12:33
【问题描述】:
练习一:改变socket程序socket1.py来提示用户 用于 URL,以便它可以读取任何网页。您可以使用 split('/') 来 将 URL 分解为其组成部分,以便您可以提取主机 套接字连接调用的名称。使用 try 和添加错误检查 除了处理用户输入不正确的情况 格式化或不存在的 URL。
import socket
url = input('name:')
word = url.split('/')
host = word[2]
print(host)
try:
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('host', 80))
mysock.send(('GET '+url+' HTTP/1.0\r\n\r\n').encode())
except:
print ("Try your best")
while True:
data = mysock.recv(512)
if len(data) < 1:
break
print(data.decode(),end='')
mysock.close()
OSError: [WinError 10057] 不允许发送或接收数据的请求,因为套接字未连接并且(使用 sendto 调用在数据报套接字上发送时)未提供地址
你能帮帮我吗?为什么代码返回我这个错误?没有其他新功能怎么解决?
【问题讨论】:
标签: python sockets networking