Enviar hilo al foro vía curl desde pfSense


  • Hola.

    Estoy intentando enviar (publicar)  un hilo al foro vía shell desde pfSense.

    Uso curl.

    Para iniciar la sesión:

    curl -k -L -b cookies.txt -c cookies.txt --verbose -d "user=TUUSUARIO&passwrd=LACLAVE" "https://forum.pfsense.org/index.php?action=login2"
    
    

    Para enviar el hilo:

    curl  -k -L -b cookies.txt -c cookies.txt -F "subject=Test-Post-curl" -F "icon=Standard" -F "message=Hola
    test" -F "SubmitAction=Yes" 'https://forum.pfsense.org/index.php?action=post2;start=0;board=10' 
    

    Pero no funciona. ¿Alguien lo ha intentado o sabe como hacerlo?.

    Salu2


  • Buenos días

    Prueba usando la opción -A y colocale el userAgent de firefox

    Saludos


  • Hola.

    Gracias. Lo probaré, lo del user agent, pero no deberian discriminar por user agent, pero nunca se sabe.
    Me da que la cosa va más por la encriptación que usa el foro, tlsv1.2, ya probaré más cosas
    Seguramente lo mejor será que lo termine intentando con php más que con comandos de shell, ya veré.

    Salu2


  • No es discriminación, muchos portales necesitan el userAgent para saber cómo responder las peticiones http, digo firefox porque es el más standar, pero si el sistema no reconoce un UserAgent, posiblemente no responda, ya me ha pasado, no he probado con pfsense.org… pero algunos portales me han dado problema si no se identifica un userAgent...

    Saludos


  • Hola.

    Con esto sí se valida (no hace falta el user agent, ya que el curl aporta su propio user-agent, pero lo pongo, por si..)

    curl -A "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)" –cookie cookies.txt --cookie-jar cookies.txt -F "user=TUUSUARIO" -F "passwrd=TUCLAVE" -F "cookielength=60" -F "cookieneverexp=0" -F "submit=Login" -L "https://forum.pfsense.org/index.php?action=login2" > resultado.html

    Pero cuando posteo:

    curl -A "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)" -k -L -b cookies.txt -c cookies.txt -F "subject=Quinto intento test con curl" -F "icon=Standard" -F "message=Hola
    msg con curl
    Salu2" -F "notify=0" -F "lock=0" -F "additional_options=0" -F "message_mode=0" -F "ns=NS" 'https://forum.pfsense.org/index.php?action=post2;start=0;board=10' > resultado2.html

    Me da el error:

    Your session timed out while posting. Please try to re-submit your message.

    Por lo tanto algo hago mal con la cookie …¿?

    Salu2


  • Puedes probas el script que está publicado en [1]
    [1] http://blog.cristianmartin.org/2012/11/curl-php-mantener-sesion-o-login-para-moverse-en-una-web.html

    Como te comenté, lo del user agent depende es del portal, si el portal lo evalua o no. Si dices que no hace nada, puedes quitarlo.

    Saludos.