57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
from http.server import BaseHTTPRequestHandler, HTTPServer
|
|
import time
|
|
import requests
|
|
|
|
hostName = "localhost"
|
|
serverPort = 9999
|
|
|
|
class MyServer(BaseHTTPRequestHandler):
|
|
def do_GET(self):
|
|
|
|
print(self.path)
|
|
if(self.path.startswith("/?ean=")):
|
|
print("EAN request")
|
|
|
|
eanCode = self.path.split("=")[1]
|
|
print(eanCode)
|
|
url = 'https://ssl.ofdb.de/view.php?page=suchergebnis'
|
|
myobj = {'SText': eanCode, 'Kat':'EAN'} #'4030521376748'
|
|
|
|
x = requests.post(url, data = myobj)
|
|
tme = x.text
|
|
try:
|
|
tme = tme.split('<div data-nx-container="inread"><!-- INREAD --></div>')[1]
|
|
tme = tme.split('img src="https://ssl.ofdb.de/images/shim.gif" width="1" height="10" border="0" alt=""></td>')[0]
|
|
tme = tme.split(',SHADOW,true)"><b>')[1]
|
|
tme = tme.split('</b></a><br>')[0]
|
|
tme = tme[:len(tme)-7]
|
|
except IndexError:
|
|
self.send_response(500)
|
|
self.send_header("Content-type", "text/html")
|
|
self.end_headers()
|
|
self.wfile.write(bytes("Invalid EAN", "utf-8"))
|
|
else:
|
|
self.send_response(200)
|
|
self.send_header("Content-type", "text/html")
|
|
self.end_headers()
|
|
self.wfile.write(bytes(tme, "utf-8"))
|
|
else:
|
|
self.send_response(404)
|
|
self.send_header("Content-type", "text/html")
|
|
self.end_headers()
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
webServer = HTTPServer((hostName, serverPort), MyServer)
|
|
print("Server started http://%s:%s" % (hostName, serverPort))
|
|
|
|
try:
|
|
webServer.serve_forever()
|
|
except KeyboardInterrupt:
|
|
pass
|
|
|
|
webServer.server_close()
|
|
print("Server stopped.")
|