привет, я пытаюсь создать HTTP-сервер с python2.7 для цифрового фестиваля в моем городе.Я отправляю все файлы HTML правильно, но я не могу отправить и просмотреть изображения, которые я отправляю.есть код режима, но он не имеет ничего общего с этой ошибкой, также мне 14, поэтому не вините меня, я использую <body background='image.jpg'>
в HTML, но он не просматривает изображение и говорит, что его тип - документ, а не image/jpg
import socket,threading,time,os,optparse
class functions():
##setting arguments
def __init__(self,host,port,msg,listeners):
self.host=host
self.port=port
self.conns=0
self.msg=msg
self.listeners=listeners
self.good_request="HTTP/1.0 200 OK\r\n\r\n"
self.bad_request="404 Error\nPAGE NOT FOUND"
self.get_request="GET / HTTP/1.1\r\nHost: %s\r\n\r\n"%self.host
self.mainmsg="""
<html>
<h1>http serve by j0ck3r2004</h1>
</html>
"""
##bind address
def binder(self):
try:
s.bind((self.host,self.port))
print "STARTED SERVER ON %s:%d"%(self.host,self.port)
except Exception,e:
print e
exit()
s.listen(self.listeners)
def serve(self):
##starts loop
while True:
##accepts connections
conn,addr=s.accept()
##tries
try:
##recives data from the connection
request=conn.recv(1024)
##defines the location
filename=request.split()[1]
print addr[0]+' Conected at '+str(addr[1])+" HTTP GET "+str(filename)
##checks for default dir
if filename=='/':
##sends good request
conn.send(self.good_request)
##reads index
F=open('index.html')
output=F.read()
##sends index
for i in range(0,len(output)):
conn.send(output[i])
else:
##reads webpage
F=open(filename[1:])
output=F.read()
##sends good request
conn.send(self.good_request)
##sends webpage
for i in range(0,len(output)):
conn.send(output[i])
##if fails
except Exception,e:
try:
conn.send(self.bad_request)
except Exception,e:
print e
##functions calling
class main():
## parsers
parser=optparse.OptionParser('python ftp-brute.py -H '+\
'<localhost> -P <port to serve on> -L <listeners>')
parser.add_option('-H',dest='host',type='string',\
help='localhost')
parser.add_option('-P',dest='port',type='int',\
help='port to serve on')
parser.add_option('-L',dest='listeners',type='int',\
help='listeners')
parser.add_option('-M',dest='mode',type='int',help='mode <1=http server 2=connect 3=chat server 4=send data>')
parser.add_option('-m',dest='msg',type='string',help='<message>')
(options,args)=parser.parse_args()
listeners=0
msg=""
host=options.host
port=options.port
mode=options.mode
msg=options.msg
listeners=options.listeners
if (host==None) | (port==None):
print parser.usage
else:
print ("\033[1mAuthor : my name\033[0m")
global addr,s,conn,p
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
p=functions(host,port,msg,listeners)
if mode==1:
if (host==None) | (port==None) | (listeners==None):
print parser.usage
exit()
else:
try:
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
## creds=raw_input('host:port:listeners : ')
## creds=creds.split(':')
## host=creds[0]
## port=int(creds[1])
## listeners=int(creds[2])
##BINDS HOST
p.binder()
##HANDLES REQUESTS
p.serve()
except KeyboardInterrupt:
print "\nSTOPPING SERVER"
s.close()