Cómo activar una acción en mi computadora local a través de algunos clics en un sitio web

Supongo que el sitio web está alojado externamente, en algún servidor Unix / Linux y que tiene acceso de root a ese sistema.

Si su computadora portátil usa OSX o una distribución de Linux , entonces, dependiendo de sus circunstancias y requisitos, podría piratear una solución siguiente:

En su servidor web: configure su página web de tal manera que, al hacer clic en un botón, se agregue una marca de tiempo actual a un archivo de texto que sea accesible al mundo (para que pueda abrirse usando su navegador web en su computadora portátil) – puedes hacerlo fácilmente usando PHP (pocas líneas de código).

En su computadora portátil: configure un trabajo cron en su computadora portátil que ejecute un script bash local cada minuto (o más / menos frecuente según sus necesidades). Haga que el script bash use cURL para buscar la url del archivo de texto y verifique si se presionó el botón y ejecute algunos comandos (otros scripts según sea necesario) si se presionó.

Este escenario supone que todo lo que quiere es verificar si se presionó el botón. Si lo desea, puede guardar más información en ese archivo de texto externo (como el contenido del formulario … encriptado, por supuesto) y expandir su script bash con condicionales, etc.

Solo una idea. Estoy seguro de que hay una forma más sofisticada de hacerlo, y necesita más investigación si sería factible para el entorno de producción.

Si su computadora portátil ejecuta Windows , probablemente podría implementar lo anterior utilizando Cygwin o MSYS.

Si conoce Javascript, HTML y CSS, está listo para crear algo exactamente como esto con gran facilidad.

Si conoce poco NodeJS, configure una API para aceptar solicitudes POST para que los comandos remotos se ejecuten utilizando el módulo npm shelljs.

Luego, cree una vista para su API en cualquier lugar de Internet utilizando HTML, CSS y JS (AngularJS – Framework superheroico de JavaScript MVW para su rescate).

Si tienes una ip estática, entonces no es un problema. Simplemente conéctese a la IP o puede configurar un host dinámico https://freedns.afraid.org aplicable tanto para una IP dinámica como para una IP estática.
Para ip dinámica, instale un software, por ejemplo, Marcs Updater – Alternativas y software similar

Entonces estás listo para irte.
njoy!

Canción AngularJS:

Como no ha especificado si tiene una IP estática o no, veamos ambos casos:

1. Con IP estática:

La segunda parte de su pregunta dice que XML-RPC, SOAP solo puede comunicarse de una manera “es decir, pueden desencadenar una acción en el sitio web desde una computadora”.

En realidad se comunican en ambos sentidos, a través de una solicitud y una respuesta.

Por lo tanto, sugeriría configurar un servicio como ReST en su computadora portátil y enviar una solicitud de un formato definido desde su sitio web cuando se haga clic en un evento como un botón. El envío de solicitudes Get o Post se admite en casi todos los idiomas, por lo que no será un problema.

Mientras pueda mantener su IP, es muy fácil hacer la tarea.

2. Sin IP estática:

Si no tiene una IP estática, entonces podría:

a. Escribir en un archivo de texto externo. El archivo de texto debe estar en una PC / servidor al que siempre se pueda acceder tanto desde su sitio web como desde su computadora portátil. Por ejemplo: un servidor / PC con una IP estática, o puede usar servicios de almacenamiento en la nube para garantizar el acceso global.

si. Obtenga un servidor proxy que tenga una IP estática. Básicamente, tanto su sitio web como su computadora portátil pueden conectarse y comunicarse.

Estoy de acuerdo con Martin Gaik. El botón sumit le indicará al servidor web (apache con PHP o IIS con aspx & C #) que cree un nuevo archivo. La computadora local tiene un horario para verificar y ejecutar ese nuevo archivo.

Pero esto es en caso de que su computadora local haya instalado un servidor web.
Si el sitio web se ejecuta en un servidor separado, su host local es solo cliente. Por lo tanto, el sitio web debe incluir un script (sugiero javascript) para crear un archivo en algún lugar, tal vez una carpeta temporal. El host local también debe tener un planificador para verificar una ejecución con ese archivo.

Será difícil acceder a su PC directamente, especialmente si salta de punto a punto, porque tendrá diferentes IP (a menos que esté en una IP estática). Tendrá que usar un servidor proxy, por ejemplo, http://proxylocal.com/ para que sus servidores remotos accedan a su PC. A partir de ahí, solo es cuestión de hacer que su software local se ejecute como un demonio, vincular a las API de su sistema para las notificaciones y viola.

Como no siempre estará en línea, creo que deberá asegurarse de que su servidor remoto pueda garantizar la entrega. Por lo tanto, cada solicitud al proxy debe guardarse para su procesamiento posterior hasta que se confirme la entrega.

Yo personalmente usaría una base de datos y una aplicación externa o script que sondearía o verificaría periódicamente si este desencadenante o evento invocara una acción local. Este enfoque es bastante seguro y muy fácil de implementar y ampliar.

Debe tener una extensión instalada en su navegador, debe vincular su llamada de extensión con la llamada de su sitio web

Pruebe el webiopi para ver si puede programar esto para hacer cosas.

Es la forma similar en que guarda un archivo en su local. Prueba javascript para completar tu trabajo.