[英]Traceback when trying to read data from web pages
# -*- 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
追溯(最近一次通話):
在第17行的文件“ exercise1.py”
cmd =“ GET” + url +“ HTTP / 1.0 \\ r \\ n \\ r \\ n” .encode
TypeError:必須為str,而不是buildin_function_or_method
您必須為字符串實例cmd
調用方法encode()
:
cmd = "GET " + url + " HTTP/1.0\r\n\r\n"
mysock.send(cmd.encode())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.