回溯试图从网页读取数据时
问题描述:
# -*- coding: utf-8 -*-
"""
Created on Sat Aug 26 17:31:06 2017
@author: Pavan Vallapureddy
"""
"""
Write a program to prompt the user for the URL so it can read any web page.
You can use split('/') to break the URL into its component parts so you can
extract the host name for the socket connect call.
"""
import socket
url = input("Enter url: ")
port = int(input("Enter port: "))
urlSplit = url.split("/")
host = urlSplit[2]
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect((host, port))
cmd = "GET " + url + " HTTP/1.0\r\n\r\n".encode
mysock.send(cmd)
while True:
data = mysock.recv(512)
if (len(data) < 1):
break
print(data.decode())
mysock.close()
输入网址:http://data.pr4e.org/romeo.txt
输入端口:80
回溯(最近通话最后一个):
文件 “exercise1.py” 17行,在
CMD = “GET” + URL + “HTTP/1.0 \ r \ n \ r \ n” 个.encode
类型错误:必须海峡,不builtin_function_or_method回溯试图从网页读取数据时
答
你要调用的方法encode()
的字符串实例cmd
:
cmd = "GET " + url + " HTTP/1.0\r\n\r\n"
mysock.send(cmd.encode())
工作。感谢您的帮助 –
@PavanVallapureddy很高兴帮助!请考虑接受这个答案。谢谢! – Ajax1234