Domanda

Devo accedere a una pagina usando tre parametri, dopodiché devo POST due parametri su un'altra pagina all'interno del sito che ho appena effettuato l'accesso.

Finora ho un cookie con questo:

curl -c cookie.txt -d "username=username&pwd=pwd&domain=mydomain" http://myurl

... all'interno del cookie ho un ID JSESSION. Uso il cookie come segue:

curl -b cookie.txt -d "par=value" http://myurlnumbertwo

I problemi:

  • anche dopo un POST all'URL di accesso ottengo nella console il codice HTML della pagina di accesso, questo significa che l'accesso non è riuscito? Come posso trovare l'errore che ha causato questo, forse un registro?
  • dopo un login riuscito come posso rimanere nella sessione di login e POST i miei parametri sull'altra pagina?

EDIT:

Ho finalmente funzionato dopo il suggerimento di Stran, segue il codice.

  • POST_DATA contiene la stringa codificata esatta che è stata pubblicata, come in 'parametro1 = valore1 & amp; parametro2 = valore2'
  • ACTION_URL contiene l'URL completo in cui è pubblicato il modulo, come in https://stackoverflow.com/users/login

Prima ho fatto un

wget --save-cookie cookie.txt --post-data 'POST_DATA' ACTION_URL

per effettuare il login e salvare il cookie, seguito da un:

wget --load-cookie cookie.txt --post-data 'POST_DATA' ACTION_URL

per creare il POST di cui avevo bisogno, grazie ancora per il suggerimento ^^

È stato utile?

Soluzione

Proverei con wget. C'è un'opzione --save-cookies e --load-cookies che ti consente di utilizzare un file cookie. C'è anche una funzione per la gestione dei cookie di sessione, --keep-session-cookies . Per ulteriori informazioni, consultare la pagina man di wget :)

Personalmente, ho avuto molta più fortuna con i post tramite wget.

GL!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top