# -*- 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
追溯(最近的呼叫最后):
文件&#34; exercise1.py&#34;,第17行,在
cmd =&#34; GET&#34; + url +&#34; HTTP / 1.0 \ r \ n \ r \ n&#34; .encode
TypeError:必须是str,而不是builtin_function_or_method
答案 0 :(得分:0)
您必须为方法encode()
调用方法cmd
:
cmd = "GET " + url + " HTTP/1.0\r\n\r\n"
mysock.send(cmd.encode())