代理后面的Java应用程序在linux中使用http_proxyvariables【JAVA教程】

!
也想出现在这里? 联系我们
信息

代理后面的Java应用程序在linux中使用http_proxyvariables,第1张

概述代理后面的Java应用程序在linux中使用http_proxyvariables

我正在考虑一个简单的Java应用程序(命令行)连接到互联网来下载一个XML文件,问题是,我的Ubuntu使用代理连接到互联网与用户名和密码(通过http_proxy =\”http://<username>:<pwd>@<ip>:<port>\” )。 所以我的问题是,是否有可能编写一个Java应用程序使用http_proxyvariables? 而不是编程设置每个应用程序中的http代理和主机,我会写。

Python脚本,代理和Microsoft Forefront – 自动身份valIDation

如何在windows上使用最新的AndroID模拟器configurationfiddler2或Charles Web Proxy之类的http代理?

根据Nginx中的子域请求路由不同的代理

如何configurationChocolatey使用公司代理?

反向代理Websockets(SSL),通过Stunnelstream量到许多node.Js应用程序

不要忘记shell变量_JAVA_OPTIONS

export _JAVA_OPTIONS=\’-Dhttp.proxyHost=cache.com -Dhttp.proxyPort=3128\’

更多的属性看这里: http : //mindprod.com/jgloss/propertIEs.HTML

您可以使用此脚本将自动环境传递给Java应用程序

这是一个智能的脚本,如果你启用nmap节,它正在检测代理的上或下状态,如果它处于up状态,它正在使用proxy,如果它处于down状态,它正在使用直接连接。

使用此脚本,您可以将应用程序连接到环境设置或覆盖环境,或使用代理服务检测方法,应用程序将选择直接或代理模式

这是一个智能连接bash shell脚本

Ofcouse如果你不启用nmap服务的up / down部分,这是一个简单的代理环境或你的应用程序的覆盖值

它正在生成自动代理连接命令行,然后运行您的Java应用程序

这是脚本的代码:

#!/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

使用当前的JVM,您可以使用Java属性传递代理主机和端口

java -Dhttp.proxyHost=webcache.mydomain.com -Dhttp.proxyPort=8080 -Dhttp.noproxyHosts=”localhost|host.mydomain.com” GetURL

请参阅http://java.sun.com/javase/6/docs/technotes/guIDes/net/proxIEs.HTML

对于用户名和密码,那么:

-Dhttp.proxyUser=username -Dhttp.proxyPassword=supersecret

在http://java.sun.com/javase/6/docs/technotes/guIDes/net/proxIEs.HTML中 ,没有命令将代理用户名和密码传递给JVM。

总结

以上是内存溢出为你收集整理的代理后面的Java应用程序在linux中使用http_proxyvariables全部内容,希望文章能够帮你解决代理后面的Java应用程序在linux中使用http_proxyvariables所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞146 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容