android httpclient 服务器 ip 直连问题

Android 网络性能优化(2)DNS优化 客户端输入一个网址即域名,到本地DNS服务器 本地服务器DNS查找域名缓存,如果命中对应的ip地址,则返回该ip,如果没有命中,则发请求给根域名服务器请求解析 根域名解析好后,返回 顶级域名服务器的地址 本地DNS 向顶级域名服务器发送请求。 顶级域名查看缓存,有没有对应ip,如果有直接返回,如果没有,则解析该域名,查找到目标 权威域名服务器的地址 本地DNS 向 权威域名服务器发送请求 权威域名服务器在数据库中查表,返回对应的ip地址 本地DNS服务器 把 ip地址 返回给.. 阅读详情

开发中遇到一个奇怪的问题,app 用 httpclient 取数据,相关代码:

private static HttpClient getHttpClient() {      
        HttpClient httpClient = new HttpClient();
	// 设置 HttpClient 接收 Cookie,用与浏览器一样的策略
	httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
        // 设置 默认的超时重试处理策略
	httpClient.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
	// 设置 连接超时时间
	httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(TIMEOUT_CONNECTION);
	// 设置 读数据超时时间 
	httpClient.getHttpConnectionManager().getParams().setSoTimeout(TIMEOUT_SOCKET);
	// 设置 字符集
	httpClient.getParams().setContentCharset(UTF_8);
	return httpClient;
}
private static GetMethod getHttpGet(String url, String cookie, String userAgent) {
	GetMethod httpGet = new GetMethod(url);
	// 设置 请求超时时间
	httpGet.getParams().setSoTimeout(TIMEOUT_SOCKET);
	httpGet.setRequestHeader("Host", URLs.HOST);
	httpGet.setRequestHeader("Connection","Keep-Alive");
	httpGet.setRequestHeader("Cookie", cookie);
	httpGet.setRequestHeader("User-Agent", userAgent);
	return httpGet;
}

取数据的过程:
httpClient = getHttpClient();
httpGet = getHttpGet(url, cookie, userAgent);
int statusCode = httpClient.executeMethod(httpGet);
if (statusCode != HttpStatus.SC_OK) {
throw AppException.http(statusCode);
}
responseBody = httpGet.getResponseBodyAsString();

碰到的问题是:url 用服务器ip,而不是域名时,在android 2.3.7版本的手机中,会停滞大约20秒再取到数据,在android4.0以上版本没有问题

原因可能是走dns的过程出现的问题

处理的方式两种:

1. 测试手机获得root权限,修改hosts,自己配一个假域名,url用假域名代替ip (真正的应用还是用域名为好,很少有直连ip的应用)

       1.  adb remount

  2、将hosts文件复制到PC:adb pull /system/etc/hosts

  3、在当前目录修改PC机上文件 hosts

  4、将PC机上文件复制到手机:adb push hosts  /system/etc/hosts


2.  在  getHttpGet 函数中增加一行

httpGet.getParams().setVirtualHost(IP); //IP 为 url中的ip


这两种方式都可以,而且方法2简便、通用,支持2.3.7 等版本




c++多线程(1)------创建和管理线程td::thread std::thread 是 C++11 标准库中用于创建和管理线程的核心类,定义在 <thread> 头文件中。它使得多线程编程变得简单、类型安全且跨平台。 阅读详情

相关推荐

手把手教你用Simulink搭建交流异步电机矢量控制模型(附完整仿真文件)

本文提供了一份详细的Simulink仿真指南,手把手教你从零开始搭建交流异步电机矢量控制模型。内容涵盖主电路搭建、坐标变换实现、双闭环PI调节器设计、转子磁链观测器调试等核心步骤,并附有完整的仿真文件,帮助读者跨越理论到实践的鸿沟,掌握高性能电机控制系统的建模与仿真技能。

pz890123的博客 663

android ip直连,Android使用HTTPS进行IP直连握手失败问题(okHttp)

public class TlsSniSocketFactory extendsSSLSocketFactory {private final String TAG = TlsSniSocketFactory.class.getSimpleName();HostnameVerifier hostnameVerifier=HttpsURLConnection.getDefaultHostnameVe...

weixin_39872624的博客 527

手机移动端-纯js浏览器h5调用摄像头扫描识别解析 条形码+二维码

一、场景 h5原生js 浏览器端解决识别二维码条形码功能; 不借助Hbuilder.需要自己打包成APP,比如用Hbuilder打包,浏览器端项目h5无打包成app部署X不采用 不借助微信扫一扫,调用微信js-jdk有多麻烦,还要认证服务号,也不适用其它浏览器打开X不采用 二、思路 1.思路一:input(相机拍照)+条形码或二维码识别js支持库 通过h5-input[camera]调用相机进行拍照成图片,通过条形码等识别库解析出数据; <input @cha...

徐子厚的博客 3万+

HTTPS IP直连问题小结

背景任何一个移动APP项目都离不开网络接入功能,提升网络接入的质量几乎是所有移动项目的需求。很多项目都会引入HTTP DNS作为网络接入最基础也是最重要的优化之一。HTTP DNS的核心是后台下发某个域名对应的最优IP,基本点的可做到就近接入,即下发该域名终端就近地同运营商的IP,好一点的则根据线上用户实际测速数据下发最优的IP。而终端只需在HTTP接入时,将URL中的HOST从域名直接替换为后台下

leelit笔记本 3万+

保姆级教程:用COMSOL LiveLink™ for MATLAB 玩转自定义PDE,从理论到仿真一条龙

本文详细介绍了如何利用COMSOL LiveLink™ for MATLAB实现自定义PDE的从理论到仿真的完整流程。通过PDE模块与MATLAB的无缝集成,用户可以灵活处理非标准偏微分方程,适用于材料建模、传热传质验证等多物理场耦合研究。教程涵盖环境配置、方程标准化、界面操作及高级应用技巧,为工程仿真研究者提供原子级控制方案。

weixin_34098209的博客 354

Windows 10 下 DockerToolbox 安装全攻略:从下载到配置阿里云镜像加速

本文详细介绍了在Windows 10系统上安装和配置DockerToolbox的完整流程。从下载安装包、执行初步安装,到关键步骤——修改虚拟机存储路径以及配置阿里云镜像加速器,旨在帮助开发者,尤其是初次接触Docker的新手,快速搭建高效的本地容器开发环境,并解决国内镜像下载缓慢的痛点。

moon9的博客 474

Android性能优化(四),网络优化 && 耗电量优化

啊

可乐 4262

MS1030超声波流量计电路实战:如何用15ps精度优化水表设计(附配置代码)

本文深入探讨了如何利用MS1030超声波流量计芯片实现15ps高精度测量,以优化水表设计。文章从系统误差分配出发,详细解析了硬件电路设计要点、SPI通信配置及核心优化技巧,如利用可编程偏置电压和8回波累加功能来提升抗干扰能力与测量稳定性,并附有实用的配置代码示例。

svm4gardener的博客 330

关于Android Studio中无法使用Apache的HttpClient的问题

android 官方文档新版已经不支持HttpClient的直接使用了。 官方文档: Android 6.0 Changes

Jackie Lee 537

HFSS实战:手把手教你设计微带发夹线滤波器(附完整参数计算流程)

本文详细介绍了使用HFSS设计微带发夹线滤波器的完整流程,包括参数计算、HFSS建模和优化策略。通过实战案例,帮助读者掌握微波滤波器设计的核心技巧,特别是奇偶模阻抗计算和HFSS仿真中的关键设置,适用于通信系统设计和射频工程应用。

weixin_29251567的博客 440

AVDepthData、LiDAR 深度数据与人像模式全解析:iOS 真实景深图采集与处理实战

在 iOS 高端影像系统中,真实景深信息的采集与利用已成为区分旗舰设备与基础设备的重要能力。Apple 自 iPhone 7 Plus 引入双摄虚化以来,逐步发展出基于 AVDepthData、TrueDepth 与 LiDAR 的多维深度感知技术,并开放接口供开发者获取高精度深度图,构建背景虚化、人像分割、3D 重建等多种功能。本文将深入解析 AVDepthData 的结构与使用方式,系统讲解 LiDAR 采集架构、人像模式的景深融合逻辑,以及如何在实际项目中采集、预览并处理深度图数据,实现具备工程可用性

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1861

安卓逆向(二)httpClient使用

HttpClient 是 Apache下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。nohttp 在开发完之后,进行了大量宣传各种技术博客,论坛等多渠道都有,那个时间提及nothttp大家都会略知一二,当然当时也遭到一批抵制者,觉得宣传过度,正值httpClient逐渐被Android SDK 替换和下架的时候,nohttp逐渐崛起,后随着一直更新和完善,现在使用也是相当可以。16年阿里开发者,并进行宣传。

Codeoooo 博客 2199

华为OD机试双机位C卷-停车场收入统计 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 停车场收入统计,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 停车场收入统计。

qq_45776114的博客 2185

httppost闪退Android,安卓开发 httpclient导致的闪退问题

今天在安卓上写了一个调用服务器接口的小demo,然后发现多连接几次服务器程序就闪退,想了半天也不知道原因,后来把静态化的httpclient变成每一次请求都初始化一次,就再也没有问题了,这是正常了以后的代码public Poem getOnePoem() {try {String baseUrl = "http://ip地址:8080/PoemServer/Poem/";DefaultHttpCl...

weixin_31533759的博客 975

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

安卓开发 httpclient导致的闪退问题

今天在安卓上写了一个调用服务器接口的小demo,然后发现多连接几次服务器程序就闪退,想了半天也不知道原因,后来把静态化的httpclient变成每一次请求都初始化一次,就再也没有问题了,这是正常了以后的代码 public Poem getOnePoem() { try { String baseUrl = "http://ip地址:8080/PoemServer/Poem/"; ...

iteye_13451的博客 1016

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Android HttpClient文件下载

Android HttpClient文件下载1. 基础概念1.1 域名、DNS1.2 HTTPS1.3 调试工具2. 响应头2.1 Content-Length2.2 Content-Encoding2.3 Accept-Ranges2.4 Transfer-Encoding3. 踩坑记录3.1 SNI3.2 断点续传3.3 chunk+ContentLength3.4 gzip+ContentL...

猿宅 997

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android 调用java url地址_HTTP基础与Android之(安卓与服务器通信)——使用HttpClient和HttpURLConnection...

查看原文:http://blog.youkuaiyun.com/sinat_29912455/article/details/511222861、客户端连接服务器实现内部的原理:分析上图,步骤如下:第一步:在浏览器客户端中得到用户输入的内容。第二步:浏览器得到这个网址之后,内部会将这个域名发送到DNS上,进行域名解析。得到它的IP之后就会链接到指定的服务器上,假如服务器的地址是:221.104.13.32:8...

weixin_39920629的博客 631

Android 网络 HttpClient和HttpURLConnection的区别

Android 网络 HttpClient和HttpURLConnection的区别 Android中使用 Android 2.2及以下版本,使用的是HttpClient Android 2.3及以上版本,使用的是HttpURLConnection 这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配置超时时间、IPv6、以及连接池等功能 Android中两者关系 由于HttpClie...

初心一点的专栏 687

Android访问网络,使用HttpURLConnection还是HttpClient?

大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作,HttpURLConnection和HTTPClient。这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配置超时时间、IPv6、以及连接池等功能。 DefaultHttpClient和它的兄弟AndroidHttpClient都是HttpClient具体的实现类,它们都拥有众多的API,而且实现比较稳定,bug数量也很少。 但同时也由于HttpClient的API数量过

郭霖的专栏 11万+

Httpclient 设置域名指向ip的两种方式

httpRequest是由params和url构成 private static String send2(HttpUriRequest httpRequest, CookieStore cookieStore) throws IOException { HttpClientBuilder httpClientBuilder = HttpClients.cust...

wjg5818的专栏 2573

Android 实现http通信(servlet做服务器端) HttpClient、HttpURLConnection实现登录验证

一,写好服务器端   在eclipse或其它javaee开发工具中新建一个web项目(我这里的项目名是:Android),建一个servlet(我这里的servlet名是:LoginServlet),模拟实现数据库,对安卓请求的数据判断,并返回(封装为json,需要json有解析json的jar包哦),servlet核心代码如下: public void doGet(Ht...

abyiy9580的博客 377

android studio httpclient

【声明】  欢迎转载,但请保留文章原始出处→_→  生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4004983.html     【系列】Android系列之网络:(持续更新) Android系列之网络(一)----使用HttpClient发送HTTP

u012149181的博客 721

HttpURLConnection还是HttpClient?这是个问题!

最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原因,于是专门找到了一位Google的工程师写的一篇博客,文中对HttpURLConnection和HttpClient进行了对比,下面我就给大家简要地翻译

Baron Zhang(mobile dev) 533

android使用httpclient

implementation 'org.apache.httpcomponents:httpclient:4.5' android { useLibrary 'org.apache.http.legacy' } package com.app.javahttp; import org.apache.http.Header; import org.apache.http.Heade...

weixin_43492777的博客 1215

安卓客户端和服务端的交互自我解惑

很上一段时间都在看安卓客户端和服务端的交互问题,之前看了一个例子,然后顺着例子走,越走越走不下去,不知道为什么,虽然现在还是有很多的地方不是很会,比如安卓每点击一个工作我想看其输出,看网上一个教程是在tomcat启动页面看到的消息,我不知道怎么弄,还请看到的人给个提示,多谢,服务端和客户端的交互,实际上就是在服务器端些代码,用客户端发来请求,调用服务端的工程,服务端的工程是需要先发布到tomcat

GS_MY的专栏 1500

HttpClient和HttpURLConnection的区别

最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient。我也比较好奇这么使用的原因,于是专门找到了一位Google的工程师写的一篇博客,文中对HttpURLConnection和HttpClient进行了对比,下面我就给大家简要地翻译

HGuang_ZJH的专栏 5万+
上一篇: android org.apache.commons.httpclient 调试
下一篇: ios adhoc distribute with website
linuxchen
博客等级 码龄24年 34粉丝 96原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值