当前位置:  技术问答>java相关

如何建立通过代理来访问的URL?

    来源: 互联网  发布时间:2015-04-17

    本文导语:  我访问WEB要通过代理服务器 172.20.5.5:8080. 在程序中,一般 URL aURL = new URL("http://www.sina.com.cn"); URLConnection connection=url.openConnection(); connection.connect(); 即可。 但我要通过代理服务器的话,是不时还有其它的设置。 ...

我访问WEB要通过代理服务器 172.20.5.5:8080.

在程序中,一般
URL aURL = new URL("http://www.sina.com.cn");
URLConnection connection=url.openConnection();
connection.connect();
即可。

但我要通过代理服务器的话,是不时还有其它的设置。

否则的话,下载图片的时候,大于10k的都很难下。而文本文件没有多大的关系。

不过下载图片的和下载文本的有区别
//for graphics
DataInputStream in=new DataInputStream(connection.getInputStream());
DataOutputStream out1=new DataOutputStream(new FileOutputStream(downloadPath+filename));
while(in.available()!=0) {
out1.writeByte(in.readByte());

in.close();
out1.close();

//for text
BufferedReader in = new BufferedReader(new InputStreamReader(new DataInputStream(connection.getInputStream())));
PrintWriter out1= new PrintWriter(new BufferedWriter(new FileWriter(downloadPath+filename)));
while((line=in.readLine())!=null) {
}
...

请大家指正。谢谢


|
Connect via socket through a Proxy
You have to set the following properties :      proxySet, proxyHost and proxyPort.
 


This can be done when starting the JVM for a JAVA application : java -DproxySet=true -DproxyHost=myProxyServer.come -DproxyPort=80 MyJavaApp
 


Or in your source : import java.util.Properties;
...

Properties systemSettings = System.getProperties();
systemSettings.put("proxySet", "true");
systemSettings.put("proxyHost", "myProxyServer.com");
systemSettings.put("proxyPort", "80");
System.setProperties(systemSettings);

 



--------------------------------------------------------------------------------
NOTE:
You might need to identify yourself to the proxy server. Use the HTTP property "Proxy-Authorization" with a username:password base64 encoded. Properties systemSettings = System.getProperties();
...
System.setProperties(systemSettings);

URL url=new URL("http://someserver/somepage");
URLConnection uc = url.openConnection ();
String encoded = new String(Base64.base64Encode(new String("username:password").getBytes()));
uc.setRequestProperty("Proxy-Authorization", "Basic " + encoded);
uc.connect();

 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Redhat/Centos下rpmbuild命令从spec文件或者tar包建立rpm
  • 如何在Red Hat上建立FTP服务 并且建立FTP一个用户
  • 怎么建立.alias文件?在哪里建立这个文件?
  • 用windows客户机登陆Linux服务器不能建立建立文件夹????[img=http://forum.csdn.net/PointForum/ui/scrip
  • 请问在linux中怎么来建立ftp和web服务器,怎么建立和windows的局域网
  • 很多服务都吧监听同时建立在特定ip和广播ip上,但是使用ssh转发时,发现没法建转发建立在广播ip上
  • 只给一个目录路径,怎样再在其下建立一个新的目录(给定目录名),然后再在其下建立一个新的文件(给定文件名)?
  • unix下获得文件的建立时间
  • linux系统中建立一个用户专门用来修改系统时间怎么做?
  • 哪个DOS命令可以建立一个空文件?
  • 开发板上建立一个nfs服务器
  • 用户ID的建立
  • 建立用户的问题
  • 服务器8G内存,怎样建立swap分区?
  • 如何建立虚拟主机
  • 怎么样在 dos 系统下 批量的建立目录?
  • 请问如何建立“目录的快捷”档?
  • 如何建立批处理?
  • 新手:unix下建立文件的命令?
  • 在pxa255建立linux2.4的系统,需要哪些补丁啊?
  • Linux用什么命令建立一个.cpp文件?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3