Página 1 de 1

[RESUELTO] Configuración de Pyscripter y proxy

Publicado: 22 de marzo de 2023 - 17:38
por croquebert
Hola a todos,

Contexto:
Teletrabajo sin VPN
Versión de WAPT: 2.2 Enterprise
Server SO: Debian 11
Consola de administración SO: Win10pro
Estación de trabajo de desarrollo de paquetes SO: Win10pro

Hola,

tenemos una máquina de desarrollo de paquetes que necesita pasar por un proxy de salida.

Los ajustes del proxy están configurados globalmente (ajustes de Internet) así como en el agente y ajustes de la consola local:
`http_proxy = ...`
`use_http_proxy_for_server=1` `
use_http_proxy_for_repo=1`

La consola accede al servidor y al repositorio correctamente.
La navegación por Internet pasa por el proxy correctamente.

Sin embargo, cuando ejecutamos la función `update_package`, que llama a la función `waptguihelper.login_password_dialog` (acceso a la API) desde PyScripter, y luego ataca la API a través de `wgets`, la conexión intenta establecerse directamente sin pasar por el proxy de salida. Consulte la salida de `netstat -an`:
TCP INTERNAL_IP_DEV_STATION:55484 EXTERNAL_IP_WAPT_SERVER:443 SYN_SENT ¿


Cómo puedo forzar a PyScripter a usar un proxy (no he visto ninguna configuración correspondiente)?

​​Atentamente,

Christophe.

Re: Configuración de Pyscripter y proxy

Publicado: 23 de marzo de 2023 - 09:51
por croquebert
croquebert escribió: 22 de marzo de 2023 - 17:38 Hola a todos,

Contexto:
Teletrabajo sin VPN
Versión de WAPT: 2.2 Enterprise
Server SO: Debian 11
Consola de administración SO: Win10pro
Estación de trabajo de desarrollo de paquetes SO: Win10pro

Hola,

tenemos una máquina de desarrollo de paquetes que necesita pasar por un proxy de salida.

La configuración del proxy está configurada globalmente (configuración de Internet) así como en la configuración del agente y de la consola local:
http_proxy = ...
use_http_proxy_for_server=1
use_http_proxy_for_repo=1

La consola accede al servidor y al repositorio correctamente.
La navegación por Internet pasa por el proxy correctamente.

Sin embargo, cuando ejecutamos la función update_package, que llama a la función waptguihelper.login_password_dialog (acceso a la API) desde PyScripter, y luego ataca la API a través de wgets, la conexión intenta establecerse directamente sin pasar por el proxy de salida. Vea la salida de netstat -an:
TCP INTERNAL_IP_DEV_STATION:55484 EXTERNAL_IP_WAPT_SERVER:443 SYN_SENT ¿


Cómo puedo forzar a PyScripter a usar un proxy (no he visto ninguna configuración correspondiente)?

​​Christophe.
Buen día,

Después de leer la documentación de wgets, el uso del parámetro proxies resolvió parcialmente el problema.

Pyscripter no tiene en cuenta la configuración de proxy global, a pesar de la inicialización de estas configuraciones de proxy en el nivel de configuración de Internet, a través de netsh o una variable de entorno.
Esto puede ser problemático porque puede haber varios desarrolladores de paquetes en diferentes sitios que utilicen servidores proxy diferentes (y cambiantes).

¿Hay alguna manera de forzar a Pyscripter a tener en cuenta la configuración de proxy global para que no tenga que especificar la configuración de proxy en las funciones llamadas?

Atentamente.

Re: Configuración de Pyscripter y proxy

Publicado: 24 de marzo de 2023 - 10:29
por sfonteneau
Buen día

Tenga en cuenta que los paquetes de actualización no están vinculados a pyscripter ni a ningún otro IDE.

Python ejecuta el código (e incluso puedes iniciar el paquete de actualización desde la consola).

Es por eso que generalmente tenemos lo siguiente al comienzo de los paquetes de actualización:

Código: Seleccionar todo

    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()

Y luego usamos la variable proxies en el resto del script.


`get_proxies()` recupera los proxies de la máquina

get_proxies_from_wapt_console() recupera los proxies de la consola.

Re: Configuración de Pyscripter y proxy

Publicado: 3 de abril de 2023 - 13:56
por croquebert
sfonteneau escribió: 24 de marzo de 2023 - 10:29 Buen día

Tenga en cuenta que los paquetes de actualización no están vinculados a pyscripter ni a ningún otro IDE.

Python ejecuta el código (e incluso puedes iniciar el paquete de actualización desde la consola).

Es por eso que generalmente tenemos lo siguiente al comienzo de los paquetes de actualización:

Código: Seleccionar todo

    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()

Y luego usamos la variable proxies en el resto del script.


`get_proxies()` recupera los proxies de la máquina

get_proxies_from_wapt_console() recupera los proxies de la consola.
Buen día,

Gracias por tus comentarios.

De hecho, puedo modificar el código del paquete para tener en cuenta la configuración del proxy cuando sea necesario.
Quería evitar esto, pero el intérprete de Python no parece reconocer la configuración global del proxy (variables de entorno, netsh, etc.). Necesito investigar más...