Einfachste Onlinestellung eines Scriptes

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

Hallo!
Ich habe meinen Chatbot nun noch etwas ausgebaut und wollte fragen ob es eine ganz simple Möglichkeit gibt das Script auf meinem Server ablaufen zu lassen, so das jeder online mit meinem Chatbot reden kann!?!
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

na gottseidank weiß ich jetzt worums geht :D

lgherby
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ebenso kurze Antworten: [wiki]WSGI[/wiki], [wiki]CGI[/wiki].
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

Cool Danke!
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

Habe jetzt mal hin und her experimentiert. Und schaffe es leider nur so weit das er die .py Datei runter laden will, sie aber nicht im Browser ausführt.

Das ist der Code, der Datei mit der ich teste:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
#!c:\Python25\python.exe
from time import *
z=localtime()
print 'Content-Type: text/html'
print
print '<html> <body>'
print '<h2>Die aktuelle Uhrzeit </h2>'
print 'Es ist', z[3], 'Uhr und',z[4],'Minuten.'
print '</body></html>'
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

Grundlagen, wir brauchen Grundlagen :)

Ich würde dem Webserver mal sagen das er Python Dateien an den Python Interpreter schicken soll, musst ja bei PHP genauso machen wenn du kein fertiges LAMP oder WAMP Paket nimmst.

lgherby
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

thelittlebug hat geschrieben:Grundlagen, wir brauchen Grundlagen :)

Ich würde dem Webserver mal sagen das er Python Dateien an den Python Interpreter schicken soll, musst ja bei PHP genauso machen wenn du kein fertiges LAMP oder WAMP Paket nimmst.

lgherby
Was heißt fertiges LAMP oder WAMP Paket?
Ich bin doch immernoch ein Python noob!
Gibt es Möglichkeiten die einfacher als einfach sind und ich weiß0 wieder nix davon ;(
Ich habe doch auch nur mein "schlaues" Buch hier. Und ein großer Teil von dem was mich dieses Buch lehrt funktioniert einfach nicht.

Ps. Habe jetzt nach WAMP/LAMP gesucht. Ich benutze jedoch keinen Apache Server sondern habe einen WindowsRootServer...
Denke also, daß alles laufen MÜSSTE!
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Was heißt fertiges LAMP oder WAMP Paket?
[Windows|Linux] Apache Mysql [Python|Php]

Du müsstes etwas genauer werden, was du genau machen willst, dieses hier
Und schaffe es leider nur so weit das er die .py Datei runter laden will, sie aber nicht im Browser ausführt.
ist nämlich absolut unverständlich. Ich versuche mich mal mit einer exgese:

Du hast dein python-skript in ein Verzeichnis kopiert, welches dein webserver Served, und nun bekommst du es zum Download angeboten, wenn du versuchst, es mit deinem Browser aufzurufen.
Das liegt daran, dass der Webserver es nicht ausführt, sondern es, wie eine html- oder pdfdatei einfach als dokument rausgibt.
Damit man dir hier helfen kann, müsstest du uns ein paar Details über deinen Webserver verraten, WindowsRootServer hat damit erstmal nichts zu tun.
Ich habe doch auch nur mein "schlaues" Buch hier. Und ein großer Teil von dem was mich dieses Buch lehrt funktioniert einfach nicht.
Dann vergiss das Buch und nehme stattdessen die angebotenen Links.
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

Die Links habe ich genommen und das buch verbrannt, vergraben und vergessen.
Nunja was für Daten brauchst du vom Server? Es ist ein W32 ROOT Server von strato. Mit Windows Serveredition 2003 drauf.
Habe Python auf dem Server vorinstalliert und habe das .py Script in einen UnterOrdner(cgi-bin) meines Webordners getan. Laut anleitung sollte er dann wenigstens das Testsript starten. Tut er aber nicht. Es passiert NICHTS!
Wenn ich mit Python nen eigen Server starte. Die Verzeichnissnamen mache wie beschrieben also auch unterordner cgi-bin mit der .py Datei drin dann will er das Script lediglich downloaden.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Boby666666 hat geschrieben:Mit Windows Serveredition 2003 drauf.
Habe Python auf dem Server vorinstalliert und habe das .py Script in einen UnterOrdner(cgi-bin) meines Webordners getan.
http://www.python-forum.de/post-67163.html#67163

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

gerold hat geschrieben:
Boby666666 hat geschrieben:Mit Windows Serveredition 2003 drauf.
Habe Python auf dem Server vorinstalliert und habe das .py Script in einen UnterOrdner(cgi-bin) meines Webordners getan.
http://www.python-forum.de/post-67163.html#67163

mfg
Gerold
:-)
also ich habe das benannte Programm gezogen und auf dem Server installiert. Jedoch tut sich immernoch nichts...
Und zu den weiteren Links kann ich nicht viel sagen bzw. viel mit anfangen da mein Englisch doch recht gegrenzt ist.

Hier mal der Link:
http://www.timeghost.de/cgi-bin/testo.py
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

du solltest dich ein wenig über deinen webserver informieren. grundlagen....

hier was mit bildern ;) http://python.markrowsoft.com/tutorial/default.aspx

lgherby

edit: sag mal, wird das ein irc bot? :)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Boby666666 hat geschrieben:Und zu den weiteren Links kann ich nicht viel sagen bzw. viel mit anfangen da mein Englisch doch recht gegrenzt ist.
Hallo Boby6!

Wenn du noch weniger Englisch kannst als ich, dann tust du mir in der Programmierung leid. Gib die Programmierung auf und werde Handwerker. :twisted:

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

thelittlebug hat geschrieben:
edit: sag mal, wird das ein irc bot? :)
Nein ein PythonBot... script liegt hier schon irgendwo im Forum...
gerold hat geschrieben:
Wenn du noch weniger Englisch kannst als ich, dann tust du mir in der Programmierung leid. Gib die Programmierung auf und werde Handwerker. Twisted Evil
Bin ich... Koch!
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ich weiß nicht ob eine reine HTML Seite über CGI mit Python generiert das richtige ist um eine Chat zu simulieren.

Ich würde es in einen Python IRC Bot packen und dann im IRC Testen
Script kann ich posten, wenn du mal ein Beispiel haben möchtest.
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

So habe nur das schöne Bunte Tutorial befolgt... musste feststellen das, das meiste schon voreingestellt war und konnte IMMERNOCH NICHT auf die Datei zugreifen... Wenn wenigstens ein Fehler kommen würde, aber er sagt ja Datei ist nicht existent... Und ich habe alles probiert...

Sr4l hat geschrieben:Ich weiß nicht ob eine reine HTML Seite über CGI mit Python generiert das richtige ist um eine Chat zu simulieren.

Ich würde es in einen Python IRC Bot packen und dann im IRC Testen
Script kann ich posten, wenn du mal ein Beispiel haben möchtest.
Ohhh ja! Das wäre nett... hoffentlich bekomme ich das dann auch irgendwie eingebaut...
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Nicht über den Code meckern er ist schon älter, einige sachen sollte man nicht machen, anderes fehlt, es ist nicht mal in Klassen gepackt würde ich IRC brauchen würde ich es auch nochmal umschreiben. Was du Kommentare heißen weiß ich auch nicht mehr.... :

Code: Alles auswählen

#! /usr/bin/env python
#

import socket
import string
import re
import thread
import time

byte = 1024
port = 6667
serv = "irc.freenode.org"
nick = "Bot1101b"
user = "email@geheimeranbiter.de"
real = "Lars Kistner"
chan = "#sr4l"
#
#
#
def HandleData():
    while True:
        data = sock.recv(byte)
        msg = re.split(" ",data)
        if "MOTD" in data: sock.send("JOIN %s\n\r" % chan) #print "JOIN %s"%chan                # Nach dem connecten joined er dem channel den er soll
        if "PING" in data: sock.send("PONG %s\n\r" % msg[1][1:]) #print "PONG: %s"%msg[1]       # Muss noch defeniert werden ist sonst zu doof
        if "To connect, type" in data: sock.send("PONG %s\n\r" % msg[8]) #instable?
        #
        try:
            msg_nick = re.split("!",msg[0])[0]
            if msg[1] == "PRIVMSG": print msg_nick," ",msg[3]
            if "CHECK"  in data:
                sock.send("PRIVMSG %s :ANSWER %s\n\r" %(chan,time.time()))
            if "NAME"  in data:
                WhoIs(msg[4])
            if "ANSWER" in data:
                sock.send("PRIVMSG %s :IHEAR  %s\n\r" %(chan,time.time()))
                sock.send("PRIVMSG %s :ANSWER %s\n\r" %(chan,time.time()))
                
        except: pass
        print "data: ",data
        time.sleep(1)
        #print "msg : ",msg
#
def SendText(text):
    sock.send("PRIVMSG %s :%s\n\r" %(chan,text))
def WhoIs(name):
    sock.send("WHOIS %s\n\r" %(name))
#
#
def Connect():
    global sock
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((serv, port))
    thread.start_new_thread(HandleData,())
    sock.send('NICK %s\n\r' %nick)
    sock.send("USER %s Sr4l Sr4l : %s\n\r" %(user,real))
    while True:
        time.sleep(2)

Connect()
How it works:

Code: Alles auswählen

(20:40:29) <Sr4l> CHECK
(20:40:30) <Bot1101b> ANSWER 1179772829.67
Was ist zu tun?:

Die Variablen zu Anfang sind zu ändern und in der 5ten Zeile von unten stehen noch zwei 'Sr4l's wieso auch immer.

Probleme?
Wenn der Bot nicht joined muss man immer die Fehlermeldungen lesen die IRC zurückgibt.
Entweder hat die Anmeldung nicht gelkappt. Man hat schon zuviel reconnectet und all son Zeug.
Boby666666
User
Beiträge: 57
Registriert: Montag 8. Januar 2007, 10:53
Kontaktdaten:

Versteh mich bitte nicht falsch! Ich bin dir SEHR dankbar das du mir das hier zur verfügung stellst. Aber ich schaffe es patu nicht das der Dummer Server nicht 404 sagt wenn ich die Pythondatei anwähle.

Was zum hänker mache ich falsch? Es ist alles installiert und genau wie in der Beschreibung steht konfiguriert. Ich habe es mittlerweile auch noch von einem Administrator auf schreibfehler oder Positionsfehler prüfen lassen aber nix! Ich lese immer nur 404.
Da hilft mir auch kein anderes Python script. Ich brauche jemanden der sagt: "Klar, kann nur an dem und den liegen"
Aber leider gibt es sojemanden leider scheinbar nicht.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Das IRC script ist nicht fürn Server als Website gedacht das kannst nur ausführen.

Aber wenn du möchtest das ein CGI Seite läuft schau dir die folgende Seite an da gibt es zu deinem Fehler gleich mehrere Möglichkeiten:
[wiki]Web-Skripte zum Laufen bringen[/wiki]?action=show&redirect=Web-Skripte+zum+laufen+bringen

das mit der Überschrift mod_python kannst du weglassen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sr4l hat geschrieben:[wiki]Web-Skripte zum Laufen bringen[/wiki]
Das Problem dieser Seite ist, dass sie stark auf Apache oder zumindest auf Unices zentriert ist. Ich tippe darauf dass du IIS nutzt - am besten du wendest dich an den entsprechenden Support, da hier im Forum die Anzahl der User die IIS betreiben wohl eher gering ist.
Aber das von thelittlebug gepostete Tutorial sollte doch einfach nachzuvollziehen sein..
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten