如何实现Android在规定时间内若http请求的数据还没返回就直接关闭请求

在Android上进行http网络访问时,如果在规定时间内网络还没返回数据,就跳转到另一个界面,请问这个该怎么实现?

3个回答

设置超时时间 con.setConnectTimeout (6000);
关闭请求可以抛出异常中写

HTTP协议使用TCP协议传输的,因此在传输数据之前采用三次握手建立TCP连接。第4个包就是HTTP请求,然后是HTTP应答。你的问题是服务器的应答包没有收到,那太简单了。首先是超时定时器到期提示网络无响应。然后可以重新连接即可。仅供参考~

当响应为408的时候就跳转

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
HTTP请求接口返回数据
直接上代码 public String getHttpInterface(String path){ BufferedReader in = null; StringBuffer result = null; try { URL url = new URL(path); //打开和url之间的连接 ...
HTTP请求url返回数据
发送HTTP请求
如何实现HTTP请求?
新年好!rn 很久不写代码了,最近 我想写一段代码获取网络时间,初步方案是从http://www.beijing-time.org/time15.asp这个页面返回时间。抓包看了一下,包的内容如下:rnGET /time15.asp HTTP/1.1rnHost: www.beijing-time.orgrnConnection: keep-alivernCache-Control: max-age=0rnAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8rnUser-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36rnAccept-Encoding: gzip,deflate,sdchrnAccept-Language: zh-CN,zh;q=0.8rnCookie: AJSTAT_ok_times=4; ASPSESSIONIDQQACDBBT=KBPLFKEDFJJFDGNEJDIJNEEGrnrn以前写了一个类要以实现http POST 和GET,测试一下竟然用不了!用CppWebBrowser可以实现,但不是我想要的。能不能用SOCKet来实现。测试以下代码也不能正确返回。rn TClientSocket *sckt=new TClientSocket(this);rn sckt->ClientType=ctBlocking;rn sckt->Address="120.25.212.59";rn sckt->Port=StrToInt("80");rn sckt->Open();rn bool test_flag=sckt->Active;rn sckt->Socket->SendText("GET /time15.asp HTTP/1.0");rn AnsiString info=sckt->Socket->ReceiveText();rn ShowMessage(info);rn请各位大侠给一个能正确返回时间的好方案!谢了!
Struts2 在 HTTP 请求中直接返回文本
0x0 工欲善其事,必先利其器安装配置 Tomcat 9,集成环境用 IntelliJ IDEA,这样可以避免很多繁琐的步骤。0x1 建立项目注意还需要勾选 Web Application,完成之后 IDEA 会自动下载 Struts2 依赖库:程序发布后,Struts2 作为依赖库也需要部署到线上环境中,在 Project Structure 中可以设置 Struts2 类库随程序发布:0x3 实
关于http请求的返回
http请求的response会返回三个元素。 1,status 即httpstatus 常见的有200,201 2,head 即httpheader ,常见的包含content-type 3, responseBody 返回的主体内容,常见的包含list,object和string   修改http返回status的方法有两种 1.response.setStatus(HttpSt...
http请求返回404
[code=java]rnrn@Controllerrn@RequestMapping("/infopublish")rnpublic class hello rn rn @RequestMapping(value="/addsubscribe",method=RequestMethod.GET,headers="Accept=text/plain")rn public @ResponseBody String AddSubscribe(@RequestParam String userInfo)rn return "add subscribe successed";rn rnrn @RequestMapping(value="/getsubscribeinfo",method=RequestMethod.GET,headers="Accept=text/plain")rn public @ResponseBody String GetSubscribeInfo(@RequestParam String userInfo)rn return "get subscribeinfo successed";rn rnrnrn[/code]rnrn我在一个controller中写了2个方法,调用的时候分别用下面两个地址。第一个地址能成功返回字符串,第二个却返回404rnlocalhost:8080/GJAQ_service/infopublish/addsubscribe?userInfo=haharnlocalhost:8080/GJAQ_service/infopublish/getsubscribeinfo?userInfo=haharnrn并且第二个返回404后,再调用第一个也是404,请问这个是什么回事啊?
Android 实现Http请求响应
Android 实现Http请求响应,获取网页源代码 在此基础上为以后解析网页提供基础
Android上实现Http请求
首先在AndroidManifest.xml中欧给你添加用户许可<uses-permission android:name="android.permission.INTERNET" />检索一个网页,如下:URL url = new URL("http://www.android.com/"); HttpURLConnection urlConnection = (HttpURLConnec
android Http请求库,用于整合所有请求与返回
该http请求库,用于将所有的http请求和返回参数整合到一起,方便以后进行调用,和更改。
去除规定时间内数据
[code=SQL]rn有如下一些字段rnid name time rn1 AAA 2011-4-25 8:43:04rn2 AAA 2011-4-25 9:15:09rn3 BBB 2011-4-25 9:43:10rn4 AAA 2011-4-25 9:43:01rn5 BBB 2011-4-25 9:49:22rn6 CCC 2011-4-25 9:50:24rn7 AAA 2011-4-25 11:50:44rnrnrnrnrnrn我想取出如下数据(规则,在一个小时内出现的数据只统计一次)rnrnname time rnAAA 2011-4-25 8:43:04rnBBB 2011-4-25 9:43:10rnCCC 2011-4-25 9:50:24rnAAA 2011-4-25 11:50:44rnrnrn各位帮帮忙!rn[/code]rnrn
http请求后直接下载数据
@RequestMapping(&quot;/public/download&quot;) public void download(String id, HttpServletRequest request, HttpServletResponse res) throws IOException{      Attachment att = dbServices.getEntity(Attachment.c...
android Http请求库,整合了所有的请求与返回
该http请求库,用于将所有的http请求和返回参数整合到一起,方便以后进行调用,和更改。 大家可以在我的博客查看详细使用方式 http://blog.csdn.net/stanny_bing/article/details/52485854
VC HTTP请求返回图片数据问题
我向HTTP服务器发送一个请求:GET /showcode.aspx HTTP/1.1........这个请求就是获取一张图片.rn然后HTTP服务器给我返回了HTTP返回头信息:HTTP/1.1 200 OK Content-Type: image/Gif; charset=utf-8rn在返回头后面紧接着就返回了gif的数据信息:rn我用抓包工具查看返回的gif数据如下:rnGIF89a..d.................................................................................................................................3..f..........3..33.3f.3..3..3..f..f3.ff.f..f..f......3..f..............3..f...rnrnrn数据太长就不全发了.rnrn我的问题是 :rn1.HTTP服务器给我返回的gif数据到底是什么?2进制?16进制?byte?还是什么东西 ?对此我完全没得概念rn2.如何把这些gif数据以图片形式显示在VC窗口上 。rn在线等 谢谢回复.
android 下http请求返回不了302状态码?
我在eclipse下用HttpURLConnection和HttpClient使用post方式都能获得302状态码,然后获得Location属性,但是在Android下却怎么也拿不到Location属性,rnrnHttpURLConnection代码:rn[code=java]rn URL restURL=new URL("http://xcsadfasadf.cdafsd");rn HttpURLConnection conn=(HttpURLConnection) restURL.openConnection();rn conn.setReadTimeout(10000);rn conn.setDoInput(true); rn conn.setUseCaches(false); rn conn.setConnectTimeout(15000);rn conn.setRequestMethod("POST");rn conn.setInstanceFollowRedirects(false);rn conn.setRequestProperty("Host", "sdsd.com");rn conn.setRequestProperty("Connection", "Keep-Alive"); rn conn.setRequestProperty("Refer", "http://ssdsdfsadfa");rn conn.setRequestProperty("Accept-Charset", "UTF-8;"); rn conn.setRequestProperty("Accept", "text/html");rn conn.setRequestProperty("User-Agent", rn "Mozilla/5.0 (Linux; U; Android 2.1; en-us; ADR6200 Build/ERD79) AppleWebKit/530.17 (KHTML, like Gecko) Version/ 4.0 Mobile Safari/530.17"); rn conn.connect(); rnrn int responsecode = conn.getResponseCode();rn String location = conn.getHeaderField("Location"); rn[/code]rnrn或者rn[code=java]rnHttpClient client=new DefaultHttpClient();rnfinal HttpGet get=new HttpGet(url);rnHttpParams params = new BasicHttpParams();rnparams.setParameter(ClientPNames.HANDLE_REDIRECTS, false);rnget.setParams(params);rnget.setHeader("Refer", book.getReferUrl());rnHttpResponse res=client.execute(post);rnHeader locationHeader = res.getFirstHeader("Location");rn[/code]rnrn都不行,是什么原因呢?
封装android的http请求
封装android的http请求
android http请求服务器
HTTP GET请求是把参数拼接到url中 /* *HTTP get请求服务器 */  public String getData() {   //get的方式提交就是url拼接的方式                 String url = "http://192.168.11.6:8080/?参数key="+"123";                 try {
android异步http请求
实现android的异步http请求,可以使用post和get方式
Android的HTTP请求方式
大多数网络连接的Android应用程序都将使用HTTP发送和接收数据 对于Http协议的工作原理,一句话概括的话,就是客户端向服务器发出一条HTTP请求,服务器收到之后会返回一些数据给客户端,然后客户端再对这些数据进行解析和处理就可以了。 HTTP协议的主要特点: 支持客户/服务器模式 简单快速:客户向服务端请求服务时,只需传送请求方式和路径。
Android中的Http请求
程序的核心可以说是分为算法和数据结构两部分,说到底就是使用一定的方法(算法)处理数据(数据结构),算法是一种能力,需要不断的学习积累,而数据则需要获取,在移动设备上,不可能存储大量数据,所以就需要从服务器获取数据,和服务器进行数据交互,也就要用到Http请求。Android4.0后所有网络方面的操作都不能在主线程执行 ! ! !Android目前提供两种Http通信方式:HttpClient (or
Android中的HTTP请求
基本介绍 HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。在 JDK 的 java.net 包中已经提供了访问HTTP协议的基本功能:HttpURLConnection。 但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。 除此之外,在Android中,androidSD
android http Get 请求
简单的android http 网络get请求
android http请求框架
在Webconnect中,填写相关地址和方法名即可,若需要传递参数,在param中添加。
Android Http 请求
自己项目中抽取的http request 部分,可作post,get请求。拿来可直接用 用法: HttpAsyncTask task = new HttpAsyncTask(); task.setMethod("get"); task.setTimeOut(5000); task.execute(url);
Android学习-Http请求
今天继续学习网络编程模块。
Android 发送http请求
发送http请求是比较好耗时的操作,所以要把他们放在线程里面(我是这么理解的) 现在android版本越来越高,都在用HttpURLConnection这种方式发送链接(舍弃了原来的HtypClient) 发送请求大致分为如下几步 1.创建一个连接 URL url = new URL("http://192.168.0.105/login/login"); 在这里要注意添加上http,否则可能会...
android http 请求问题
[b][size=18px]状况:TextView 已经显示 【可以上网】 [/size][/b]rn出错代码行 :[color=#FF0000]HttpResponse response = client.execute(request);[/color]rn但是 在 catch 模块 捕获异常信息时 结果为 null null :[color=#FF0000]result = e.getLocalizedMessage() + " " + e.getMessage(); 没有异常信息[/color]rn本人初学 android 遇到这种出错,不能解决,请大家回答一下,谢谢大家rn[code=java]rn@Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn requestWindowFeature(Window.FEATURE_NO_TITLE);rn setContentView(R.layout.activity_main);rn btn = (Button) findViewById(R.id.btnRemote);rn tv = (TextView) findViewById(R.id.txtRemoteResult);rnrn btn.setOnClickListener(new OnClickListener() rn @Overridern public void onClick(View v) rn String result = executeGet();rn tv.setText(result);rn rn );rn tv.setText(isNetworkAvailable(this)?"可以上网":"不可以上网");rn rnrn public String executeGet() rn String result = null;rn BufferedReader reader = null;rn try rn HttpClient client = new DefaultHttpClient();rn HttpGet request = new HttpGet();rn request.setURI(new URI("http://www.baidu.com"));rn HttpResponse response = client.execute(request);rn reader = new BufferedReader(new InputStreamReader(responsern .getEntity().getContent()));rnrn StringBuffer strBuffer = new StringBuffer("");rn String line = null;rn while ((line = reader.readLine()) != null) rn strBuffer.append(line);rn rn result = strBuffer.toString();rnrn catch (Exception e) rn result = e.getLocalizedMessage() + " " + e.getMessage();rn e.printStackTrace();rn finally rn if (reader != null) rn try rn reader.close();rn reader = null;rn catch (IOException e) rn e.printStackTrace();rn rn rn rn return result;rn rnrn public static boolean isNetworkAvailable(Context context) rn ConnectivityManager cm = (ConnectivityManager) contextrn .getSystemService(Context.CONNECTIVITY_SERVICE);rn if (cm == null) rn else rn //如果仅仅是用来判断网络连接rn //则可以使用 cm.getActiveNetworkInfo().isAvailable();rn NetworkInfo[] info = cm.getAllNetworkInfo();rn if (info != null) rn for (int i = 0; i < info.length; i++) rn if (info[i].getState() == NetworkInfo.State.CONNECTED) rn return true;rn rn rn rn rn return false;rn rn[/code]rnrn权限配置如下rn[code=html]rn rn rn rn rn rn rn rn rn rn rn rn rn[/code]
android Http请求
android Http四种请求方式 包括get post httpClient请求
android http请求报错
异常代码:android.os.NetworkOnMainThreadExceptionrn网上查了下说是4.0以后不能放到主线程里请求了,不会改啊,请指教rnrnMainActivity类rn[code=java]rn@Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_main);rn initListeners();rn rn cancelBtn = (Button)findViewById(R.id.Canclebtn);rn loginBtn = (Button)findViewById(R.id.Loginbtn);rn rn userEditText = (EditText) findViewById(R.id.etUserName);rn pwdEditText = (EditText) findViewById(R.id.etPassword);rn rn cancelBtn.setOnClickListener(cancelListener);rn loginBtn.setOnClickListener(loginListener);rn rn rn private void initListeners()rn loginListener = new OnClickListener() rn @Overridern public void onClick(View v) rn // TODO Auto-generated method stubrn //HttpPost request = new HttpPost("http://www.baidu.com");rn if(validate())rn if(login())rn Intent intent = new Intent(MainActivity.this, MainOhterActivity.class);rn startActivity(intent);rn elsern showDialog("用户名称或者密码错误,请重新输入!");rn rn rn rn ;rn rn cancelListener = new OnClickListener() rn @Overridern public void onClick(View v) rn // TODO Auto-generated method stubrn finish();rn rn ;rn rn rn private boolean login()rn String username = userEditText.getText().toString();rn String pwd = pwdEditText.getText().toString();rn rn String result = query(username, pwd);rn if(result != null && result.equals("1"))rn return true;rn elsern return false;rn rn rn rn private boolean validate()rn String username = userEditText.getText().toString();rn if(username.equals("") && username == null)rn showDialog("用户名称是必填项!");rn return false;rn rn String pwd = pwdEditText.getText().toString();rn if (pwd.equals("")) rn showDialog("用户密码是必填项!");rn return false;rn rn return true;rn rn rn private String query(String username, String password)rn String queryString = "usrname=" + username + "&password=" + password;rn String url = HttpUtil.BASE_URL + "UI/login/login.jsp?" + queryString;rn return HttpUtil.queryStringForGet(url);rn rn[/code]rnrnHttpUtil类rn[code=java]rnpublic static final String BASE_URL="http://192.168.0.115:8080/AndroidTest/";rnrnpublic static HttpGet getHttpGet(String url)rn HttpGet request = new HttpGet(url);rn return request;rn rnrnpublic static HttpResponse getHttpResponse(HttpGet request) throws ClientProtocolException, IOExceptionrn// 这句就报异常了rn HttpResponse response = new DefaultHttpClient().execute(request);rn return response;rn rnrn public static String queryStringForGet(String url)rn HttpGet request = HttpUtil.getHttpGet(url);rn String result = null;rn try rn HttpResponse response = HttpUtil.getHttpResponse(request);rn if(response.getStatusLine().getStatusCode()==200)rn result = EntityUtils.toString(response.getEntity());rn return result;rn rn catch (ClientProtocolException e) rn e.printStackTrace();rn result = "网络异常!";rn return result;rn catch (IOException e) rn e.printStackTrace();rn result = "网络异常!";rn return result;rn rn return null;rn rn[/code]
Android http请求帮助类
Android http请求帮助类 支持表单提交和字节流提交
android 发送http请求
好久没写博客了,因为公司要做android,笔者也是第一次接触。 这是在项目中遇到一个比较麻烦的问题,记录下来备忘(本人刚接触,有不对的地方请指教)。
Android,HTTP请求中文乱码
Android,HTTP请求中文乱码
【Android】Http请求
【Android】Http请求
简单的android http请求
android手段级简单的http访问请求,以及乱码问题的解决
HTTP请求post数据
[code=C/C++]rnchar file[4096];rnsprintf(request, "POST %s HTTP/1.1\r\nAccept:*/*\r\nAccept-Language:zh-cn\r\nHost:%s:%d\r\nContent-Type:application/x-www-form-urlencoded\r\nContent-Length:%d\r\nConnection:Close\r\n\r\nfile=%s\r\n\r\n", url ,host_addr, portnumber,len_subject,file);rn[/code]rnfile参数的值是从文件中读取的数据rn但是文件是大于4K的rn怎么post呢?
如何让页面在规定时间内关闭?
如何让页面在规定时间内关闭?
请求返回数据封装类
该代码封装了网络请求的返回数据用于返回前段
ajax请求,及返回的数据
1.传统方法的缺点: 传统的web交互是浏览器发送请求服务器,服务器返回数据响应,但是就连很小的交互,也需要来回请求,浪费带宽重新读取整个页面. ajax则解决的这一个问题,可以创建快速动态网页,用少量数据交换,实现异步更新 实现原生ajax步骤: //创建异步对象 var xhr = new XMLHttprequest(); //设置方式 xhr.open(...
retrofit请求直接返回string
1.添加gradle依赖:      compile com.squareup.retrofit2:converter-scalars:2.0.0'   2.更换转换器   mRetrofit = Retrofit.Builder()                   .baseUrl(HttpAddress.SITE)                   .addConverter
http请求返回网页的源代码
用的Volley框架,http协议,post方式,json数据格式 尝试请求登录接口,却返回给我登陆网页的源代码,怎么解决?
ORACLE HTTP返回请求乱码
ORACLE 发送HTTP请求,返回的报文,中文显示乱码。请各位大牛帮忙。 怎么正常显示
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview