Newsgroup: it.comp.www.php
Titolo: passare dati di login

Hola gente!
Devo fare una pagina in php che ogni giorno (uso crontab) entra in un
sito e raccoglie dei dati. Fin qui nessun problema, ho fatto la pagina
che è quasi pronta.
Il problema nasce per il fatto che per accedere a questa pagina devo
fare il login...farlo da browser...e cosa ci vuole!...ma come faccio a
farlo da php??? Php ovviamente gira lato server, quindi è inutile che
faccia il login dal browser dove lancerò lo script per catturare i
dati perchè la sessione sarà attiva sulla mia macchina ma non sul
server.
La pagina dove devo fare il login ha questo codice:
<form name="homesiteccontrol" method = "post" action="/sasa/index.jsp?
epi-content=LOGIN&epi-
process=home_process_login.jsp&type=url&form_url_name=http://
www.xxxxxxxx.xxx/sasa/site/ffds/?epi_menuItemID=5558e3fd3775e0c3beda0052c01041ca&target=top&source=sitecontrol"
target="_parent" style="margin-bottom:0px;">
<input type="hidden" name="realm" value="SQL">
	<table width="148" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td class="login">
             <table width="100%" border="0" cellspacing="0"
cellpadding="0">
              <tr>
                <td colspan="2"><img src="/images/xxxxxxx/newhome/
login.gif" width="45" height="20" /></td>
              </tr>
              <tr>
                <td colspan="2" class="login_box">Username
                    <input name="logon" type="text" class="login_form"
size="15" maxlength="50">
                </td>
              </tr>
              <tr>
                <td valign="bottom" class="login_box">Password
                    <input name="password" class="login_form"
type="password" size="15" maxlength="20"  onKeyPress="return
submitenter(this,event)"/>
                </td>
                <td valign="bottom">
                        <input name="Invia" type="image"  src="/images/
xxxxxxxxx/newhome/login_box_frecce.gif" width="26" height="17">
                </td>
              </tr>
              <tr>
                <td colspan="2">
                    <a href="
http://www.xxxxxxxx.xxx/sasa/site/ffds/
?
epi_menuItemID=a2dc1cab4db4465fb70c3072e02041ca&beanID=98976176&viewID=richiestaPass&epi-
content=GENERIC" class="link_login_box">password dimenticata?</a>
                    <a href="
http://www.xxxxxxxx.xxx/sasa/site/ffds/
?
epi_menuItemID=61c946e879c833d632294560c01041ca"><img src="/images/
xxxxxxxxx/newhome/login_box_registrazione_it.gif" width="129"
height="19" border="0" /></a>
                </td>
              </tr>
            </table>
            </td>
            <td width="7"><img src="/images/xxxxxxxxx/newhome/
login_box_dx.gif" width="7" height="128" /></td>
          </tr>
        </table>
</form>
Come posso fare???
Thanks,
Andrea

fare il login...
Ciao,
non hai pensato che forse mettono il login proprio per evitare bot che 
prendono i dati agevolmente? :-)
E' un problema che non ho mai affrontato, ma una volta accertato che quello 
che stai facendo è consentito/legale io utilizzerei la funzione fsockopen 
per fare il login e comunicare col server remoto col protocollo HTTP, 
simulando così a tutti gli effetti il browser. Se la pagina che ti interessa 
viene visualizzata subito dopo il login allora il gioco è finito qui. 
Altrimenti devi anche gestire l'id di sessione (che il browser gestisce coi 
cookie) per navigare nelle pagine conservando la sessione.
Eventualmente per renderti conto di quello che accade puoi usare un sistema 
di sniffing (ethereal o smsniff) mentre fai il login col browser e cerchi di 
emulare il tutto con le funzioni socket di php (fsockopen, fgets, fputs).
Se non sai di cosa sto parlando, studiati il protocollo HTTP (google) e la 
funzione fsockopen (dal manuale) ed eventualmente ritorna. Non è facilissimo 
ma neanche tanto complicato :-)
ciao,
Luca(riello)
PS: non è escluso che in rete ci siano script già belli e pronti... prova 
con google ;) 

 navigare nelle pagine conservando la sessione.
Aggiungo a quanto ha detto Luca, che probabilmente, è predisposto anche 
un sistema di propagazione della sessione anche qualora il browser 
abbia i cookie disabilitati.
Oltre alla fosckopen che ti ha suggerito Luca, potresti dare 
un'occhiata alla libreria curl.
Comunque se leggi i messaggi di meno di una settimana fa su questo ng, 
troverai un messaggio identico al tuo, con le relative risposte e 
suggerimenti per le strade da seguire in questo caso. :-)
--
rob4you