bin i jetzt blöd?<BR>ich habs grad nochmal getestet, als mit hand scheint's auch zu funktionieren, allerdings hier nur bei post.... das ist jetzt wirklich komisch...
Sie sind nicht angemeldet. Bitte melden Sie sich an oder registrieren Sie sich.
devshare.de » Beiträge von [Boron]Bogul
bin i jetzt blöd?<BR>ich habs grad nochmal getestet, als mit hand scheint's auch zu funktionieren, allerdings hier nur bei post.... das ist jetzt wirklich komisch...
wie du schon sagtest, der begriff "carpenter" ist wohl ein ordner und keine scriptdatei, das heißt wenn ich das direkt an carpenter dranhänge scheint's wohl net zu funktionieren, weil der ordner wohl erst auf was anderes weiterleitet...
Jo, also das funktioniert sowohl mit POST, GET als auch mit FILE;<P>was meintest du eigentlich mit der "von Hand-Lösung" ?
Ich habe mich da wohl glaube ich ein bissel falsch ausgedrückt, also im Script gings schon mit POST in einem eigenen form, allerdings kann man dann keinen Spielernamen übergeben, die Seite die dann erscheint ist nämlich immer die mit den Top50 besten Spielern der Welt. Das macht aber keinen Sinn, mit GET bei der jetzigen Lösung probiere ichs jetzt gleich mal aus!
[img]images/icons/smile.gif" border="0[/img]<P>Ich habe mal in die ActivePerl Documentation geguckt und was gefunden womit ich das Problem lösen konnte: hier der Code:<P><BR># Create a user agent object<BR> use LWP::UserAgent;<BR> $ua = new LWP::UserAgent;<BR> $ua->agent("AgentName/0.1 " . $ua->agent);<BR> # Create a request<BR> my $req = new HTTP::Request POST => 'http://games2.westwood.com/cgi-bin/yuri /carpenter';<BR> $req->content_type('application/x-www-form-urlencoded');<BR> $req->content("match=www&errors=0&locale=-1&rung=$user");<BR> # Pass request to the user agent and get a response back<BR> my $res = $ua->request($req);<BR> # Check the outcome of the response<BR> if ($res->is_success) {<BR> $data = $res->content;<BR> } else {<BR> $data = "Bad luck this timen";<BR> }<P>habe nur die Url geändert und die Argumente bei "$req->content("match=www&errors=0" angefügt [img]images/icons/smile.gif" border="0[/img]
<BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von J|G:<BR><STRONG>ich mach das so:<P>s/cMn/<BR>/g;<BR>s/n/<BR>/g;<P>das funzt eigentlich immer [img]images/icons/smile.gif" border="0[/img]</STRONG><HR></BLOCKQUOTE><P>kann mir bitte mal jemand verraten für was "cM" stehen soll?
daran kanns nicht liegen, ich habe nämlich auch schon die url in ein eigenes form in einem skript angegeben, jeweils mit post und mit get, funktioniert aber nicht.<P>du meinst also, dass der Carpenter nur ein ordner ist oder wie?
<form method=POST action="http://games2.westwood.com/cgi-bin/yuriX_ladder/carpenter" target="win2"><BR> <td rowspan="2" background="assets/ctr_bottom.jpg"><font size="-1" face="arial,helvetica" color="#00FF00"> <BR> <img src="assets/spacer.gif" width="18" height="8"> <BR> <select name="locale"><BR> <option value="-1">World Wide <BR> ...(options für alle länder)<BR> </select><BR> <input name="rung" maxlength=12 size=6><BR> <input type="image" border=0 src="assets/btn_find3.gif" width=40 height=24 name="image2" align="top"></font></td></form><P><BR>in diesem HTML-Form-Teil wird ja das Skript <A HREF="http://games2.westwood.com/cgi-bin/yuriX_ladder/carpenter" TARGET=_blank>http://games2.westwood.com/cgi-bin/yuriX_ladder/carpenter</A> aufgerufen. Nun die Fragen: Was fürn Skript ist das?<P>Ich habe mal versucht das innem extra Browser so aufzurufen:<BR> <A HREF="http://games2.westwood.com/cgi-bin/yuriX_ladder/carpenter?locale=-1&rung=Bogul2001" TARGET=_blank>http://games2.westwood.com/cgi-bin/yuriX_ladder/carpenter?locale=-1&rung=Bogul2001</A> <P>also bei rung muss ein Spielername stehen, deshalb Bogul2001, aber leider kommt dann ein internet Servererror 500 und nix passiert. Wieso funktioniert denn das nicht?<BR>Ich würde das nämlich dann gerne so machen, dass mein Skript das Skript von Westwood so aufruft mit einem Spielernamen als Parameter und dann mit dem was das Westwood-Skript zurückliefert weitere sachen machen kann (deswegen auch mein letzter Post)
*g*<P>danke für deine antwort, aber es geht mir nicht ums durchschleusen oder sowas, sondern lediglich darum:<P>Man kann ja mit dem Modul LWP::Simple per get=url einen Request auf eine datei starten. Wenn ich jetzt aber einen Request auf eine .pl datei starte, bekomme ich ja das ergebnis zurück und ups, damit hat sich meine frage grade für mich selbst geklärt *G*
ok, dann versuche ich's mal so genau wie möglich zu veranschaulichen [img]images/icons/wink.gif" border="0[/img]<P>mein skript liegt auf <A HREF="http://www.a.de" TARGET=_blank>www.a.de</A> und heißt eins.pl, also <A HREF="http://www.a.de/eins.pl" TARGET=_blank>www.a.de/eins.pl</A> <P>wenn ich jetzt per browser das skript starte kann ich 2 ziffern eingeben. Das Skript eins.pl erkennt die beiden zahlen. Es öffnet nun ein Skript auf <A HREF="http://www.b.de," TARGET=_blank>www.b.de,</A> namens zwei.pl.<P>Es übergibt die Zahlen an das Skript <A HREF="http://www.b.de/zwei.pl," TARGET=_blank>www.b.de/zwei.pl,</A> indem es dort ein Formular mit diesen Daten ausfüllt und dieses abschickt. Nun wartet mein Skript (eins.pl), darauf, dass das Skript zwei.pl die beiden Zahlen verarbeitet und gerade oder ungerade ausspuckt. Mit dem was ausgespuckt wird von zwei.pl, also gerade oder ungerade soll mein Skript (eins.pl) dann wieder was anfangen können und beispielsweise bei "ungerade" ausgeben: "Das Ergebnis ist ungerade". Die Ausgabe unterscheidet sich jetzt zwar nicht arg von der von zwei.pl, aber immerhin wurde sie selbstständig von meinem Skript (eins.pl) aufgrund der Rückgabe von zwei.pl generiert.<P>Ich hoffe dass du jetzt verstehst was ich meine.
hm, das bringt mich eigentlich nicht viel weiter, da ich zwar dann bei meinem server eine html-seite generieren kann mit einem formular, dass ein skript auf einem anderen server ausführen kann, jedoch kann ich dann mit der html-seite, die das skript vom anderen server zurückliefert leider nichts mehr anfangen, da ja keines meiner skripte mehr aktiv ist.<P>Was ich jetzt genau machen wollte ist folgendes: Stell dir vor auf <A HREF="http://www.1.de" TARGET=_blank>www.1.de</A> liegt eine html-datei mit der man über ein auswahlformular eine Multiplikation 2er Zahlen durchführen kann. Nehmen wir mal das kleien Einmaleins. Also wenn man jetzt selbst mit dem Browser auf <A HREF="http://www.1.de" TARGET=_blank>www.1.de</A> surfen würde könnte man beispielsweise 3*4 berechnen lassen. Das Skript, welches auf <A HREF="http://www.1.de" TARGET=_blank>www.1.de</A> nach Versand des Formulares aufgerufen wird soll dann ausgeben ob die Zahl gerade oder ungerade ist.<P>Soweit nun. MEIN Skript, auf meinem Server soll also das Formular auf <A HREF="http://www.1.de" TARGET=_blank>www.1.de</A> ausfüllen, dieses Formular ganz normal an das skript von <A HREF="http://www.1.de" TARGET=_blank>www.1.de</A> abschicken und dann die ausgabehtml-seite zurückbekommen. Jenach Ausgabe vom Skript auf <A HREF="http://www.1.de" TARGET=_blank>www.1.de</A> soll mein Skript dann ausgeben: "Die Zahl ist ungerade" oder "Die Zahl ist gerade". <P><BR>So in der Art soll das funktionieren, ich hoffe du verstehst jetzt was ich meine.
Wie mache ich es, dass mein Skript auf eine andere Seite geht (nicht auf meinem server), dort ein formular mit bestimmten inhalten abschickt (was man auch so abschicken kann wenn man es von hand auf der seite eingibt) und dann mit dem was zurückkommt (nächste seite) weitere sachen machen kann?
was soll denn der käse mit <html> tags vor dem Perl-skript?
Wie ja allgemein bekannt ist kann man bei formularen als method post angeben, damit die sachen aus dem formular nicht in der adressleiste erscheinen (gibt's dafür eigentlich nochnen anderen grund warum man das nehmen sollte, bzw. was ist an post noch unterschiedlicher?), meine Frage lautet jetzt:<P>kann ich irgendwie dieses post auch in einem <a href> benutzen?<BR>ich kann zwar jetzt an den link selbst die argumente auch so dran hängen mit ?argument1=wert1&argument2=wert2... allerdings kommt das aufs gleiche raus wie bei method=get, da ich aber nicht möchte, dass in der browseradressleiste das zeug erscheint, möchte ich gerne wissen ob man das irgendwie auch mit post machen kann beinem link
1. Das wirkt professionell [img]images/icons/tongue.gif" border="0[/img]<BR>2. Falls du mal echten Mist postest und dich als z.B. Kinderporno-Händler outest kann deine Ip gegen dich verwendet werden
Wieso so umständlich, schreib einfach<P><BR>print <<EOF;<P>CODE<BR>CODE<BR>CODE<BR>CODE<P>EOF<P>nach diesem muster ist es kein problem, du kannst dann da wo code steht normalen html code ohne einschränkungen von wegen " und ' zeichen oder son scheiss benutzen. Sogar die Variableninterpolation funzt da problemlos
Habe mich mal drangesetzt und das hier gecoded, funktioniert eigentlich ganz gut.<P>Bei der Variablenzuweisung von $set_time muss man einfach eine uhrzeit angeben, zu beachten ist, dass es z.B. 18:4 Uhr heißt und nicht 18:04<P>Das Script selbst heißt script.pl und startet sich alle 240 sekunden wieder, weil alle 5 minuten die zeit abläuft und das skript gekillt wird.<BR>-------<P><BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><HR><pre><BR>#!/usr/bin/perl -w<P><BR>use CGI qw(:standard);<P><BR>$set_time = "18:30";<P>$time = time();<P>while ($current_time ne $set_time){<P>@time = gmtime(time);<BR>$time[2]+=2;<BR>$current_time = "$time[2]:$time[1]";<P>if (time() - $time > 240){print redirect('http://www.beispiel.de/sleep.pl'); last;}<P>sleep 1;<P>}<P><BR>print header();<BR>print start_html;<P>print "$current_time";<P><BR>print end_html;<BR></pre><HR></BLOCKQUOTE><p>[ 04.10.2001: Beitrag editiert von: Bogul ]
hab mich grad nochmal eingelesen.<P>also du nimmst ja ein s vor das muster, was soviel wie suchen und ersetzen bedeutet. Du ersetzt jetzt aber lediglich in dem string title, der ja noch das ganze html-file enthält den titel mit tags durch den titeltext an sich. Die variable $title enthält jetzt allerdings immer noch nicht speziell nur den titel. Deshalb kannste dir das s/.../$i/i sparen und stattdessen schreiben<P>$title =~ m/deinmuster/i;<BR>$title = $1;<P>das müsste hinhaun, dann steht in $title wirklich nur noch der titel
ähm, wird der variablen $titel nicht die Position vom anfang des Musters übermittelt und der Titel selbst in $1 gespeichert?<P>Es ist doch gar net nötig, das $1 nochmal nach dem Muster zu erwähnen, oder?
Ja, darin liegt das Problem, erstens muss man dafür einen pc immer anhaben der das skript aktiv hält und 2. erlaubt Puretec z.b. nur 6 Sekunden Rechenzeit bei 100% Prozessorauslastung, danach wird das Skript abgeschossen. Wenn die Prozesserauslastung während dem Sleep jetzt 0% wäre würds klappen, andernfalls nur bedingt bzw. gar nicht....
<BLOCKQUOTE><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von J|G:<BR><STRONG>Hm und wenn Du versuchst die IP mit JavaScript zu grabben und das Ergebnis dann weiter an Perl leitest ... <P>document.write(java.net.InetAddress.getLocalHost());<P>[ 28.06.2001: Beitrag editiert von: J|G ]</STRONG><HR></BLOCKQUOTE><P><BR>Du sagtest da, dass man mit JavaScript Werte an Perl übergeben kann?<P>Gibt's dafürne Anleitung oder wie funktioniert das sonst?
Hi, mich interessiert mal, ob man ein Skript so einrichten kann, dass es vom Server zu einem festgelegten zeitpunkt einfach einmal ausgeführt wird und fertig. Geht das irgendwie oder muss man jedes skript immer manuell ausführen??
Selbstverständlich geht's auch ohne den verzeichnisschutz von user, dann sollteste aber nur eine datei mit allen usern und passwötern anlegen in der form<P>"<BR>userA passwortA<BR>userB passwortB<BR>"<P>Allerdings kann man dann die Datei einsehen, wenn man sie zufällig errät. Deshalb ist die Methode mit dem Verzeichnisschutz Idiotensicher und praktisch nicht zu knacken für mehr als 99,9% aller InternetUser
also ich habe das bei mir so realisiert:<P>zu beachten sit, dass das verzeichnis auf "user" geändert wird. Dieses Verzeichnis ist mittels .htpasswd und .htaccess passwortgeschützt.<P>Das Passwort steht dann für jeden User in einer Datei, die so heißt, wie der User, also wenn der User Otto heißt, heißt die Datei "Otto.txt".<BR>wichtig ist dann nur noch, dass in der datei Zeilen stehen mit jeweils 2 wörtern. In einer Zeile in der Datei muss folgendes stehen:<BR>"passwort BELIEBIGES_PASSWORT"<P>Ich hoffe ich konnte helfen. Das sollte auch für einen Anfänger nicht allzu schwierig sein<P>#!/usr/bin/perl -w<P><BR>use CGI qw(:standard);<P>chdir "user";<P>$url = param('accountname').".txt";<BR>$passwort = param('passwort');<P>if (! -e $url){<P><BR>print header();<BR>print start_html;<BR>print "Keinen gültigen Account ausgewählt";<BR>print end_html;<BR>die;}<P>open (FILE, $url);<P><BR>while (<FILE> ){<P>($eins, $zwei) = split (" ", $_);<P>$hash{$eins} = $zwei;<P>}<BR>close (FILE);<P><BR>if ($passwort ne $hash{passwort}) {<P>print header();<BR>print start_html;<BR>print "Falsche Passworteingabe";<BR>print end_html;<P>}<BR>else {<BR> BLABLABLABL - CODE CODE CODE }
ich hab jetzt mal in der perlfunc-manpage nachgeschaut und da auch was zu sockets gefunden, allerdings weiß ich nicht, wie ich das dann in den code reinbringen muss:<P>folgendes:<P>socket SOCKET,DOMAIN,TYPE,PROTOCOL<P>Opens a socket of the specified kind and attaches it to filehandle SOCKET. DOMAIN, TYPE, and PROTOCOL are specified the same as for the system call of the same name. You should use Socket first to get the proper definitions imported. See the examples in Sockets: Client/Server Communication in the perlipc manpage. <BR>On systems that support a close-on-exec flag on files, the flag will be set for the newly opened file descriptor, as determined by the value of $^F. See $^F in the perlvar manpage.<P><BR>das ist ja schön und gut, aber ich raff das echt net. Könnte einer von euch mir bitte einen beispielcode reinschreiben, wie ich jetzt genau eine socketverbindung zunem server öffne, einen dateihandle dazu definiere, mit dem ich dann genausoarbeiten kann, als wenn es ein normaler wäre?<P>Thx im Voraus!
devshare.de » Beiträge von [Boron]Bogul
Powered by PunBB, unterstützt von Informer Technologies, Inc.
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.