View Full Version : Mega aiuto Apache e XML
Ciao Ragazzi,
Aiutooooo...
Credo che alcuni di voi siano esperti di Xml...
Per me oggi è il secondo giorno..
e mi dispiace chiederlo, ma ho a disposizione pochissimo tempo..
Dovrei realizzare un modulo per Apache che riceva in ingresso un url del tipo http://...../?parametro1=xxx¶metro2=yyy
e dia in uscita un file XML con gli stessi parametri...
la cosa è un po' sporca, ma serve per avere una base su cui partire..
So che può sembrare strano, ma è solo l'avvio per poi fare successivamente una cosa pulita...
Va benissimo se per caso avete qualche modulo già pronto che faccia qualcosa di simile (o meglio ancora proprio quello..)
Grazie
Mariodm
E' indifferente...
Va bene uguale credo...
Apache gira sotto Unix, ma non ci sono problemi, no ?
Col php è più semplice ?
Ciao
Mario
Data l'urgenza addirittura...
andrebbe bene un uscita txt formattata col simil-xml..
l'importante e che l'uscita sia dinamica, cioe' dipendente dall'ingresso...
Consigli ? moduli, materiali ?
Sapete se all'intenro di apache già c'e' un modulo così semplice ?
Mariodm
Il php ha un motore per la generazione di documenti XML...
Il server su cui dovrà girare lo configuri te ? Perchè c'è la 5 beta di PHP che fra le maggiori novità ha proprio un motore XML strepitoso...
beh il server apache già c'e'..
ma il supporto al php è agiornabile a parte ?
solo che le mie conoscenze di php sono quasi nulle..
Puoi darmi una mano ...
l' out deve essere semplicissimo.. anche con un unico parametro di uscita..
l'ostacolo grosso per me è iniziare a capire come usare apache in modo diverso da come ho fatto finora... cioe' solo con l'uso di pagine statiche... :(
Grazie
Mariodm
Vai nella sottosezione corsi e faq e c'è un corso (alla 3a lezione) di PHP ;)
Il supporto PHP è aggiornabile a parte (basta seguire le istruzioni su come fare con Linux)...
Ecco comunque questo link che ti insegna anche ad installarlo:
http://www.risorse.net/php/index.php
Riguardo a php 5 beta...siamo all'ultima beta...
Scusa Cionci,
Credi si trovi un giro un modulo C per apache che faccia quel semplice lavoro ?
Mi conviene aprire una nuova discussione ?
grazie
Mariodm
Te lo dico,
perchè ho idea che manchi il supporto al PHP e che non sia installabile nel tempo richiesto..
io sono da remoto con telnet sulla macchina unix.
Mariodm
Purtroppo il tempo è pochissimo..
e la cosa deve funzionare anche se di sicuro non programmata in modo pulito..
Poi si modificherà o si rifarà da zero se necessario..
Per chi ama la programmazione potrebbe essere una porcata, lo so.. ma questo serve.
Thanks
Mariodm
Qui c'e' la mia ignoranza di base...
i parametri verso apache sono passabili solo attraverso il PHP ?
I moduli in C di apache non hanno qualche funzionalità ?
ciao
Mariodm
Spiegami un po' meglio cosa vuoi fare... Con Apache puoi anche eseguire script bash... Se ti bastasse questo...
ah si ?
col bash un po' me la cavo..
Allora dovrei passare dei parametri da url come ho scritto su e ottenere un output txt o xml del tipo...
<MAR>
<attributes>
<attr name="ipAddr">
<value>192.x.x.x</value>
eccetera...
Dov'e' l'ip ad esempio l'ho passato io ad apache con la mia richiesta...
http://...../?ipAddr=192.x.x.x¶metro2=yyy
emh,... un po' più chiaro ?
Grazie
Mariodm
PEr recuperare l'ip lo devi rpendere con getenv e la variabile d'ambiente è REMOTE_ADDR...
http://www.icosaedro.it/apache/cgi-bash.html
Grazie ma...
L'ip lo conosco gia'.. e anche gli altri parametri..
Per ora l'unica cosa è il passaggio di parametri verso apache..
e un output formattato xml o txt.
Più che altro un modulo apache semplice esistente...
Semplice ma complesso perchè apache sono unix mi è nuovo e anche sotto windows l'ho usato in maniera semplicistica...
Ciao
Mariodm
Ma non hai detto che conosci bash ? Quello sopra è un CGI realizzato in bash...
Si..
scusa, rispondevo al primo tuo messaggio..
quello senza link..
Ora lo guardo subito..
Grazie
Mariodm
utile grazie...
Ora devo scoprire se il supporto all'esecuzione dei cgi e' attivo..
Credi che si trovi in giro un sorgente c per la conversione
txt -> xml o url -> xml ?
ciao
Mariodm
Ma un file XML è già un file di testo...
Si scusa... oer txt intendevo qualcosa senza formattazione...
Purtroppo credevo di aver risolto tutto, ma ho un grosso problema..
Non posso usare cgi..
Devo usare un modulo scritto in C di apache o svilupparne uno ad-hoc..
Conosco il c++, ma fare in pochissimo tempo qualcosa che interopera con apache la vedo dura..
Hai qualche consiglio ?
conosci qualche genio isponibile ?
O link che mi hai passato sono utilissimi.
Grazie
Mariodm
Non è proprio facile fare una cosa del genere...come mai non puoi usare CGI ?
Perchè la procedura deve girare su una macchina che fa anche altre cose....
cmq la cosa in se è facile, no ?
Mi basterebbe identificare qualche modulo apache che fa qualcosa di simile e modificarlo, no ?
Hai qualche idea ?
apache è 1.3 !
Ciao
Mariodm
Ok...ma apache ti permette di eseguire i CGI fatti con gli script bash a gratis... Basta avere il permesso di esecuzione... Non capisco cosa non ti permetta di usarli...
Di moduli del genere non credo che ne esistano...
Secondo te l'efficenza maggiore come si ottiene?
Con un modulo integrato in C,
oppure un cgi-bash o ancora uno script perl (anche il supporto al perl e' integrato, no ?)
Pensa ad un carico molto elevato verso il server..
Ciao
Mariodm
Ovviamente con un modulo integrato in C, ma sicuramente non è la strada più semplice ;)
Il supporto Perl credo che tu lo abbia tramite un mod_perl...
Preferiscono la strada più complicata....
alto traffico...
Suggerimenti ?
Ciao
Mariodm
Nessuno...non ho mai fatto un modulo per Apache...
L'unico che ti posso dare è di seguire questi link: http://www.codefaktor.de/misc/apachelinks.html#apache1
Grazie dei links....
Purtroppo c'e' un casino di materiale..
è completissimo...
Ma addirittura devo vedere le API in C.
Devo beccare in giro qualche modulo semplice che fa qualcosa simile..
Avessi tempo mi leggerei tutto il book al link.ù
Grazie per l'aiuto.
Ciao
Mario
ciao Ragazzi,
Ho trovato un esempio...
come recuperereste i parametri dalla puntatore request_rec ?
idee per il successivo invio ?
#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
#include "http_log.h"
#include "http_protocol.h"
/* file: mod_hello.c */
/* here's the content handler */
static int hello_handler(request_rec *r) {
const char* hostname;
r->content_type = "text/html";
ap_send_http_header(r);
hostname = ap_get_remote_host(r->connection,r->per_dir_config,REMOTE_NAME);
ap_rputs("<HTML>\n" ,r);
ap_rputs("<HEAD>\n" ,r);
ap_rputs("<TITLE>Hello There</TITLE>\n" ,r);
ap_rputs("</HEAD>\n" ,r);
ap_rputs("<BODY>\n" ,r);
ap_rprintf(r,"<H1>Hello %s</H1>\n" ,hostname);
ap_rputs("Who would take this book seriously if the first example didn't\n",r); ap_rputs("say \"hello world\"?\n" ,r);
ap_rputs("</BODY>\n" ,r);
ap_rputs("</HTML>\n" ,r);
return OK;
}
/* Make the name of the content handler known to Apache */
static handler_rec hello_handlers[] =
{
{"hello-handler", hello_handler},
{NULL}
};
/* Tell Apache what phases of the transaction we handle */
module MODULE_VAR_EXPORT hello_module =
{
STANDARD_MODULE_STUFF,
NULL, /* module initializer */
NULL, /* per-directory config creator */
NULL, /* dir config merger */
NULL, /* server config creator */
NULL, /* server config merger */
NULL, /* command table */
hello_handlers, /* [9] content handlers */
NULL, /* [2] URI-to-filename translation */
NULL, /* [5] check/validate user_id */
NULL, /* [6] check user_id is valid *here* */
NULL, /* [4] check access by host address */
NULL, /* [7] MIME type checker/setter */
NULL, /* [8] fixups */
NULL, /* [10] logger */
NULL, /* [3] header parser */
NULL, /* process initialization */
NULL, /* process exit/cleanup */
NULL /* [1] post read_request handling */
};
Ciao
Mariodm
Originariamente inviato da mariodm
come recuperereste i parametri dalla puntatore request_rec ?
Devi guardare nella documentazione...altirmenti è impsosbile conoscere come è fatto...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.