问:怎样在Http连接中设置超时和代理?
来源:互联网 发布:吉林大学网络自助中心 编辑:程序博客网 时间:2024/06/09 10:23
http://blog.csdn.net/asce1885/article/details/7855094
问:怎样在Http连接中设置超时和代理?
Http连接的超时机制能够防止连接线程的无限期等待,一般可分为connect timeout和socket timeout,在Android中可以使用HttpClient和HttpURLConnection建立Http连接,因此存在两种设置超时的方式,首先Socket等待建立连接的超时时间和Socket输入流等待数据到达的超时时间设置如下:
- private static final int HTTP_CONNECT_TIMEOUT = 20 * 1000;
- private static final int HTTP_SOCKET_TIMEOUT = 20 * 1000;
1)HttpClient方式
- HttpClient httpClient = new DefaultHttpClient();
- HttpParams params = httpClient.getParams();
- HttpConnectionParams.setConnectionTimeout(params, HTTP_CONNECT_TIMEOUT);
- HttpConnectionParams.setSoTimeout(params, HTTP_SOCKET_TIMEOUT);
2)HttpURLConnection方式
- try {
- URL url = new URL("http://www.baidu.com");
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setConnectTimeout(HTTP_CONNECT_TIMEOUT);
- conn.setReadTimeout(HTTP_SOCKET_TIMEOUT);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
Android应用程序访问互联网时,如果处于WIFI或者CMNET、UNINET或者3GNET,CTNET等接入方式时,无需设置代理即可顺利的访问网络,但是如果处于WAP环境下,那么就需要首先设置代理,之后才能访问互联网。Android通过WAP方式联网可参见http://blog.csdn.net/ace1985/article/details/7844159 跟设置超时一样,设置代理同样有HttpClient和HttpURLConnection两种方式:
1)HttpClient方式
- HttpClient httpClient = new DefaultHttpClient();
- String host = Proxy.getDefaultHost(); //默认代理服务器地址
- int port = Proxy.getDefaultPort(); //默认代理服务器端口号
- HttpHost httpHost = new HttpHost(host, port);
- HttpParams params = httpClient.getParams();
- params.setParameter(ConnRouteParams.DEFAULT_PROXY, httpHost); //设置默认代理
1)HttpURLConnection方式
- String host = android.net.Proxy.getDefaultHost(); // 默认代理服务器地址
- int port = android.net.Proxy.getDefaultPort(); // 默认代理服务器端口号
- SocketAddress socketAddr = new InetSocketAddress(host, port);
- // 构造代理对象
- java.net.Proxy proxy = new java.net.Proxy(java.net.Proxy.Type.HTTP, socketAddr);
- try {
- URL url = new URL("www.baidu.com");
- // 设置代理
- HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
0 0
- 问:怎样在Http连接中设置超时和代理?
- Android在Http连接中设置超时和代理
- Android在Http连接中设置超时和代理
- Android在Http连接中设置超时和代理?
- Android在Http连接中设置超时和代理?
- 如何在Http连接中设置超时?
- 连接超时:连接。如果你在一个HTTP代理,请配置IDE或Gradle代理设置
- HttpClient设置超时和代理
- 如何在Ant中设置HTTP代理
- git中设置http代理和取消http代理
- Android java如何在代码中为Http连接设置代理
- xfire 设置http连接代理
- Android http连接设置超时无效
- 11.http怎么加入超时和代理
- http怎么加入超时和代理
- 在java程序中设置http代理访问网络
- java中处理http连接超时
- java中处理http连接超时
- 修改fstab文件后引起的startx不能进入问题之解决
- Selenium Grid 简易安装--(selenium-server-standalone-*.jar)
- 数学软件Maple使用教程
- 关于Java中TCP/IPMonitor监听器无响应的心得
- 通过Library进行android开发
- 问:怎样在Http连接中设置超时和代理?
- (第一讲)服务器的架设
- nyoj-975-关于521
- git分支提交回退
- 搜芽项目开发之SVN协作流程
- (第二讲)从服务器下载图片
- HTML5 les1
- wamp的最新apache2.4.9配置httpd.conf允许外部访问
- java中类加载路径和项目根路径获取的几种方式