Estoy pensando en una simple aplicación de Java (línea de comandos) que se conecta a Internet para descargar un archivo XML, el problema es que mi Ubuntu está usando un proxy para conectarse a internet con nombre de usuario y contraseña (a través del http_proxy ="http://<username>:<pwd>@<ip>:<port>"
). Entonces mi pregunta es, ¿podría ser posible escribir una aplicación java para usar la variable http_proxy
? En lugar de configurar programáticamente HTTP proxy y host en cada aplicación, escribiré.Aplicación Java detrás del proxy para usar la variable http_proxy en linux
Respuesta
Con una JVM actual puede pasar el servidor proxy y el puerto utilizando propiedades de Java
java -Dhttp.proxyHost=webcache.mydomain.com -Dhttp.proxyPort=8080 -Dhttp.noProxyHosts=”localhost|host.mydomain.com” GetURL
Ver http://java.sun.com/javase/6/docs/technotes/guides/net/proxies.html
en http://java.sun.com/javase/6/docs/technotes/guides/net/proxies.html no hay un mandato para pasar nombre de usuario y contraseña del proxy a JVM.
Por nombre de usuario y contraseña, ¿qué pasa con:
-Dhttp.proxyUser=username -Dhttp.proxyPassword=supersecret
No hay que olvidar la cáscara _JAVA_OPTIONS variables
export _JAVA_OPTIONS='-Dhttp.proxyHost=cache.com -Dhttp.proxyPort=3128'
Para más propiedades se ven aquí: http://mindprod.com/jgloss/properties.html
No olvide que [HTTPS tiene sus propias propiedades] (https://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html) que Roedy no menciona. –
Se puede utilizar esta secuencia de comandos para el entorno automático que pasa a la aplicación java
Esta es una secuencia de comandos inteligente, si habilita la sección nmap, está detectando el estado de proxy hacia arriba o hacia abajo, si está activo, está utilizando el proxy si está inactivo. Usa conexión directa ...
script que puede conectar su aplicación con los ajustes de medio ambiente o sobrescribir ambiente o con servicio de proxy por el método de detección, la aplicación selecciona el modo directo o proxy de
Ésta es una conexión fiesta shell script inteligente
descontado que le decimos si no se habilita sección arriba/abajo del servicio nmap, este es un entorno de proxy simple o su valor de sobrescritura para su aplicación
Se está produciendo la línea de comandos de conexión de proxy automaticamente a continuación, ejecutar la aplicación Java
Este es el código del script:
#!/bin/bash
# Author : Kerim BASOL
# Twitter : http://twitter.com/kerimbasol
# URL : http://kerimbasol.com
# Version : 0.1
# Java Proxy support script
# You can use with GNU License
# Which is your runtime jar file
# Please change this as your application's needs
JARFILE="myapp.jar"
#Automaticly import system proxy settings
if [ -n "$http_proxy" ] ; then
echo $http_proxy | grep "@"
if [ $? -eq 0 ]; then # If variable has username and password, its parse method different
PROXY_HOST=$(echo $http_proxy | sed 's/http:\/\/.*@\(.*\):.*/\1/')
PROXY_PORT=$(echo $http_proxy | sed 's/http:\/\/.*@.*:\(.*\)/\1/' | tr -d "/")
USERNAME=$(echo $http_proxy | sed 's/http:\/\/\(.*\)@.*/\1/'|awk -F: '{print $1}')
PASSWORD=$(echo $http_proxy | sed 's/http:\/\/\(.*\)@.*/\1/'|awk -F: '{print $2}')
else # If it doesn't have username and password, its parse method this
PROXY_HOST=$(echo $http_proxy | sed 's/http:\/\/\(.*\):.*/\1/')
PROXY_PORT=$(echo $http_proxy | sed 's/http:\/\/.*:\(.*\)/\1/' | tr -d "/")
fi
fi
# If you want to overwrite system proxy settings
# uncomment these lines as your wish
#PROXY_HOST="127.0.0.1"
#PROXY_PORT="3128"
#USERNAME="kerimbasol"
#PASSWORD="deneme"
# Display usage
if [ $# -gt 0 ] ; then
if [ $1 = "--help" ] ; then
echo "$0 [<proxy-server> <proxy-port> [<username> <password> ] ] "
exit 0
fi
fi
# Command line proxy pass
if [ $# -gt 1 ] ; then
PROXY_HOST=$1
PROXY_PORT=$2
if [ $# -gt 3 ] ; then
USERNAME=$3
PASSWORD=$4
fi
fi
# If you want to use this feature , enables and disables proxy support for proxy service up or down status
# uncomment these line, if you installed nmap
# at ubuntu system you can type this command for this future
# sudo apt-get install nmap
#STATUS=$(nmap -sT $PROXY_HOST -p $PROXY_PORT 2>/dev/null| grep open |awk '{print $2}')
#if [ "$STATUS" != "open" ]; then # If service isn't running, disable proxy support
# PROXY_HOST=""
# PROXY_PORT=""
#fi
CMD="java -cp."
if [ -n "$PROXY_HOST" -a -n "$PROXY_PORT" ] ; then
CMD="java -cp . -Dhttp.proxyHost=$PROXY_HOST -Dhttp.proxyPort=$PROXY_PORT"
if [ -n "$USERNAME" -a -n "$PASSWORD" ]; then
CMD="$CMD -Dhttp.proxyUser=$USERNAME -Dhttp.proxyPassword=$PASSWORD"
fi
fi
# If you want , change this line as your application wish ;)
CMD="$CMD -jar $JARFILE"
eval $CMD
- 1. ¿Cómo usar PEAR detrás del proxy?
- 2. Cómo usar git detrás de un proxy
- 3. configuración paquete detrás de proxy
- 4. InetAddress.getByName falla detrás del proxy
- 5. Emacs detrás del proxy HTTP
- 6. Aplicación Rails3 detrás de un Proxy
- 7. Cómo rastrear la dirección IP real detrás del proxy
- 8. file_get_contents detrás de un proxy?
- 9. Proxy transparente para tráfico IPv6 en Linux
- 10. Cómo usar un proxy HTTP en java
- 11. Usando la variable del código detrás en ASP.NET
- 12. ¿Cómo administrarías la autenticación X509 en una aplicación Django detrás de un proxy Nginx?
- 13. WCF Servicio web detrás del proxy inverso público
- 14. Instalador para la aplicación Java
- 15. Cambiando la configuración del proxy del sistema en Ubuntu 12.04 desde la terminal
- 16. WebDAV detrás de un proxy inverso
- 17. Cómo establecer correctamente la ruta de la cookie JSESSIONID detrás del proxy inverso
- 18. Cómo usar el proxy con la aplicación C#
- 19. Justificación detrás del contenedor_de macro en linux/list.h
- 20. ¿Cómo autenticarse en un proxy al usar la clase HttpClient?
- 21. Acceso al paquete oficial de Nuget Fuente detrás del proxy de la compañía
- 22. ¿Cómo se configura el proxy para Java?
- 23. La mejor manera de demonizar la aplicación Java en Linux
- 24. ¿Cómo uso cygwin detrás del firewall corporativo?
- 25. SSH en git detrás de proxy en windows 7
- 26. ¿Cómo subir usando FTP en Powershell, detrás de un proxy?
- 27. Obscurecer la contraseña proxy de red en archivos de texto plano en Linux/UNIX-likes
- 28. ¿Usar interfaz o tipo para definición variable en java?
- 29. Cómo usar iptables en Linux para reenviar el tráfico http y https a un proxy transparente
- 30. Coste de rendimiento del proxy dinámico Java
nombre de usuario y contraseña ejemplos http://www.rgagnon.com/javadetails/java-0085 .html http://www.developer.com/java/other/article.php/1551421/Questions-on-HttpURLConnection-and-Proxies.htm – EGHM