完整代码

package com.proj.net;

//导入编码的jar文件
import it.sauronsoftware.base64.Base64; import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL; /**
* 非常多公司会对网上进行限制,要通过代理server和口令才干连接外网。 <br>
* 这样的方式有非常多优点:<br>
* 1、安全。代理server像一层过滤层;<br>
* 2、节省成本,仅仅须要分配非常少的IP地址就可以;<br>
* 3、对员工上网能够个性化配置,避免有人下载大量数据而造成网络拥堵不堪。<br>
*
* 本文通过一个小案例来介绍怎样在程序里跨过局域网訪问外网。 <br>
* 对于搞网络开发的人来说。不值一提;但对于做JAVA EE应用开发的人来说,能够參考。<br>
*
* @author 王一洋
*
* 2014-10-30
* */
public class Test {
public static void main(String[] args) {
try {
//两种方式设置代理server
//设置代理1
//Proxy proxy = new Proxy(Proxy.Type.HTTP,new InetSocketAddress("", 80));
//设置代理2
System.getProperties().setProperty( "http.proxyHost", ""); System.getProperties().setProperty( "http.proxyPort", "" ); String urlString = "http://blog.csdn.net/";
URL url = new URL(urlString);
//相应第一种设置方式
//HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(proxy); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setConnectTimeout(1000);
//设置User Agent
urlConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//设置訪问的username与password
urlConnection.setRequestProperty( "Proxy-Authorization", "Basic" + Base64.encode("username:password") );
urlConnection.connect();
System.out.print(urlConnection.getResponseCode());
BufferedInputStream bis = new BufferedInputStream(urlConnection.getInputStream());
InputStreamReader isr = new InputStreamReader(bis,"UTF-8");
BufferedReader bufferedReader = new BufferedReader(isr);
String str = "";
StringBuffer buffer = new StringBuffer("");
while((str = bufferedReader.readLine())!=null){
buffer.append(str+"\r\n");
}
System.out.println(buffer);
} catch (Exception e) {
e.printStackTrace();
}
}
}

返回code:200,OK!

异常Server returned HTTP response code: 403
for URL

在url.openConnection()后加入:

connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");

Java通过代理server上网的更多相关文章

  1. JAVA如何设置代理server,s取消代理erver

    1.一个简短的引论 代理server(Proxy Server)是一种重要的server安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用. 代理server大多被用来连 ...

  2. 通过设置代理,解决服务器禁止抓取,报“java.io.IOException: Server returned HTTP response code: 403 for URL”错误的方法

    java.io.IOException: Server returned HTTP response code: 403 for URL: http:// 这个是什么异常呢? 当你使用java程序检索 ...

  3. 计算机网络--http代理server的设计与实现

    一.Socket编程的client和服务端的主要步骤: Java Socket编程:对于http传输协议 client: 1.创建新的socket,绑定serverhost和port号 2.Socke ...

  4. java动态代理技术

    主要用来做方法的增强.让你能够在不改动源代码的情况下,增强一些方法,在方法运行前后做不论什么你想做的事情(甚至根本不去运行这种方法).由于在InvocationHandler的invoke方法中,你能 ...

  5. 代理server的概要知识

    技术支持请留言:http://www.lcpower.cn 一.什么是代理server? 代理server英文全称是Proxy Server.其功能就是代理网络用户去取得网络信息.形象的说:它是网络信 ...

  6. linux杂谈(十三):代理server

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/linux_player_c/article/details/24707457 1.代理server的 ...

  7. PCB 利用nginx正向代理实现上网

    在PCB行业中,为了保证服务器的安全性,服务器正常都是需要与外网断开的,如果想在服务器通过浏览器下载一点东西是不行.通常作法是在一台可以上网的电脑下载文件,接着放到网络盘上,再从网络盘拷贝到服务器上. ...

  8. 代理server的理解(1):Windows环境下的代理server设置

    浏览器中的代理server设置 Windows系统接口提供的代理server设置是一个全局的代理server的设置,如图所看到的,这里就不多解释: 各个浏览器在使用代理设置的时候,能够主动地获代替理设 ...

  9. 反向代理:是指以代理server来接收Internet上的请求,然后将请求转发到内部网络的server上,并将结果返回给Internet上连接的client,此时的代理server对外就表现为反向代理server。

       Nginx安装好之后.開始使用它来简单实现反向代理与负载均衡的功能.在这之前.首先得脑补一下什么是反向代理和负载均衡.   反向代理:是指以代理server来接收Internet上的请求,然后将 ...

随机推荐

  1. 向SDE图层中添加大量数据时,出现ORA-00604以及ORA-01000的解决办法

    转自原文 向SDE图层中添加大量数据时,出现ORA-00604以及ORA-01000的解决办法 写了一个小程序,从一个列表中读取坐标串,每个坐标串生成一个IPolygon,然后将这些Polygon添加 ...

  2. AFNetworking的原理与基本使用-b

    全称是AFNetworking 虽然运行效率没有ASI高,但是使用比ASI简单 是对NSURLConnection和NSURLSession的各自的一层包装 AFN的内部中的RunLoop AFN内部 ...

  3. JavaScript学习代码整理(一)

    /** * Created by wyl on 15-1-23. */ function displayDate() { document.getElementById("demo" ...

  4. underscore

    http://www.byywee.com/page/M0/S819/819654.html http://www.haogongju.net/art/1127253 http://hi.baidu. ...

  5. HTML5 Geolocation

    http://diveintohtml5.info/geolocation.html http://msdn.microsoft.com/en-us/library/windows/apps/hh44 ...

  6. Stanford CoreNLP--Split Sentence

    分句功能参考 Stanford Tokenizer. 在edu.stanford.nlp.pipeline包中实现了一系列分词分句功能,其中SentenceAnnotator类实现了对文件分句功能. ...

  7. GSM、GPRS、EDGE、2G、3G与WAP的关系

    1.GSM(Global System of Mobile communication)即全球移动通讯系统: 是目前使用人数最大的移动通信网络,就是2G的移动通信技术,是一种电路交换系统.这种网络仅提 ...

  8. php拓展ssh功能

    1.下载拓展ssh需要的两个软件包,libssh2和ssh2. libssh2下载地址:http://pan.baidu.com/s/1hq7XOhu libssh2官网下载地址:http://www ...

  9. ASPX在Debug模式下直接link原始CSS而非Bundle后的CSS

    由于对CSS做了bundle, debug的时候修改原始css文件不会直接反映到浏览器中, 效率较低. 于是我想在debug的时候直接link原始CSS. 很简单. <% #if DEBUG % ...

  10. logstahs 匹配isslog

    2016-11-30 06:33:33 192.168.5.116 GET /Hotel/HotelDisplay/cncqcqb230 - 80 - 192.168.9.2 Mozilla/5.0+ ...