In alcuni casi usare i webservices per farsi restituire dati può non essere la strada più comoda, in un sito con tecnologia asp poi non ne parliamo …

Per risolvere questo tipo di problemi normalmente creo una pagina che se eseguita con i parametri giusti mi restituisce i risultati voluti, siano questi dati in formato xml , csv o addirittura frammenti di html che poi elaboro e/o visualizzo.

In questo periodo va tanto di moda ajax per fare il get della pagina ma a me serviva farlo lato server , quindi ho scritto questa funzione che restituisce l’uotput della pagina richiesta.

'-----------------------------------------
Function GetURL(sUrl)
'-----------------------------------------
Dim Http
Set Http = Server.CreateObject ( "WinHttp.WinHttpRequest.5.1" )
sUserAgentString = "Mozilla/4.0+(compatible;+MSIE+6.0)"
Http.Option(WinHttpRequestOption_UserAgentString)=sUserAgentString
Http.Open "GET", sUrl
Http.Send

If CInt(Http.Status) <> 200 Then
GetURL = Http.Status & " " & Http.StatusText & "<br>" & sUrl 
else
GetURL = Http.ResponseText
end if

Faccio un esempio, se volessimo visualizzare su una pagina il contenuto dei feed rss di questo blog basterebbe scrivere

<%
sUrl = "http://maurizio.mavida.com/?feed=rss2"
response.write GetURL( sUrl ) 
%>
pensieri ... e parole

Don LucaIeri 19 luglio 2005 a causa di un incidente durante un escursione è mancato Don Luca Gamba.

Non so dire se in vita sia stato "santo" e "giusto", ma sicuramente la sua disponibilità era grande.

Forse è banale ma mi spiace …

update:
www.porter.it
www.ilgiornale.it
www.targatocn.it (1)
www.targatocn.it (2)

update 2:
La Stampa Web ( sez. di Cuneo)

update 3:
www.targatocn.it (3)

update 4:
Ringrazio tutte le pesone che hanno lasciato un commento per aver condiviso il loro dolore.

p.s. se arrivate a questa pagina da un motore di ricerca e avete conosciuto don luca potete lasciate un commento cliccando qui.

linux

Prima di tutto .. Che cos’è un server LDAP ?

La sigla LDAP è l’acronimo di Lightweight Directory Access Protocol ( protocollo “leggero” per l’accesso a servizi di directory) ed ha funzioni di accesso simili a quelle di un database. La differenza sostanziale può essere cercata nella parola “leggero”: si tratta cioè di un sistema che ha alcune funzioni di un database ma è specializzato in modo da ottimizzare le prestazioni per l’uso attraverso la rete in operazioni di lettura, lista e ricerca di informazioni contenute in un “server” LDAP, ovvero un sistema che risponde a richieste di operazioni da parte di “clienti” effettuate mediante il protocollo stabilito. Un server LDAP consente di effettuare operazioni di inserzione, cancellazione ed aggiornamento dei dati, come un database generico, ma e’ ottimizzato per effettuare operazioni di ricerca ed accesso alle informazioni.

Se usate sarge ( debian ) è una passeggiata … # apt-get install slapd A questo punto parte un wizard di configurazione dove ci viene chiesto il nome del dominio ( in pratica il nome della radice del nostro albero gerarchico ) e la password di amministratore.

Se sbagliamo qualcosa o vogliamo riconfigurarlo basta digitare # dpkg-reconfigura slapd in questo modo farete ripartite il wizard di prima quante volte vorrete.

A questo punto vi chiederete come diavolo facciamo per amministrarlo … Bhe … io ho provato diversi tools poi ho trovato la pace dei sensi con phpldapadmin.

Grazie a sarge installarlo è davvero banale: # apt-get install phpldapadmin. Per usarlo avremo bisogno di apache , php e alcune estensioni di php … fortunatamente apt si occupa delle dipendenze e dopo aver riavviato il webserver ( # /etc/init.d/apache restart) possiamo collegarci al seguente indirizzo: http://ip-del-server/phpldapadmin.

Dopo aver digitato la password saremo liberi di aggiungere tutti i nodi di cui avremo bisogno scegliando tra diversi template per l’inserimento.

Durante i miei esperimenti ho avuto dei problemi con l’accesso amministrativo che ho risolto indicando nel file di configurazione di phpldapadmin ( che dovreste trovare in /etc/phpopenldapadmin/) l’accesso tramite sessioni e non tramire cookies.


Per i possibili usi di questo servizio immagino che abbiate già i vostri obbiettivi …
Io personalmente avevo bisogno di una rubrica condivisa sui client di posta elettronica.


Riferimenti:
http://www.debian.org/releases/stable/
http://www.openldap.org/
http://phpldapadmin.sourceforge.net/

linux

Immaginiamo il seguente scenario:
Ci viene richiesto di fare assistenza su un macchina all’interno di una rete locale connessa a internet dietro un firewall

es.
Pc assistenza –> Internet –> Firewall –> ( rete locale ) –> Pc Remoto

La vpn non è presente e non è possibile installarla ma disponiamo di un accesso ssh ( senza alcun permesso ) al firewall ( magari con ip fisso ) e conosciamo l’ip della lan della macchina remota.
Ovviamente sulla macchina remota deve essere installato il servizio VNC.

Soluzione:
Lanciamo putty e configuriamo nella sezione "SESSION" ip e porta del firewall sulla quale è diponibile il server ssh ( di standard sulla porta 22 ma per motivi di sicurezza potrebbe anche essere diverso ). Come protocollo ovviamente selezioniamo ssh. Poi nella sezione "CONNECTION->SSH->TUNNELS" nella parte relativa al port fordwarding inseriamo i dati del servizio vnc:
SourcePort: 5900 ( questa è la porta standard ma vale il discorso della porta ssh del firewall)
Destinazion: "ippcremoto:portavnc" ( es. 192.168.0.34:5900 )
Verifichiamo che sia selezionato il pallino affianco a "local"
A questo punto premiamo il pulsante Add.
La nostra configurazione dovrebbe apparire simile a questa : "L5900 192.168.0.34:5900"
Fatto questo clicciamo su open e inseriamo user e password per l’accesso al firewall.

Da questo momento ogni pacchetto inviato su localhost ( 127.0.0.1 ) sulla porta 5900 verra girato da putty sulla macchina remota.
Ne consegue che lanciando vnc viewer e indicato come indirizzo server "localhost" ci collegheremo al pc remoto il quale molto probabilmente ci chiederà la password per accedere alla sessione dell’utente.

Lo stesso giochino funziona anche con terminal server a patto che il pc remoto abbia il servizio attivo ( es. windows 2000 server) La porta remota in questo caso sara la 3389 (es. L3389 192.168.0.34:3389 ) .
Se avete problemi a collegarvi su "localhost" usando il remote desktop connection potete provare a digitare 127.0.0.1.

Link di riferimento:
putty
Real Vnc

Sperando che a qualcuno possa servire …

humor

Mi sono registrato a jusspress. Tramite un loro programma è possibile scaricargli filmati in diversi formati che loro convertono in flash dandoti il codice html per pubblicarli sul tuo sito/blog … Quello che seque è l’esperimento che ho fatto …


Share video at JussPress.com