300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > java http 返回值_java发送http请求 无需等待返回结果

java http 返回值_java发送http请求 无需等待返回结果

时间:2019-05-19 07:04:23

相关推荐

java http 返回值_java发送http请求 无需等待返回结果

浮云间

HttpURLConnection有个setReadTimeout的方法可以实现你的需求。publicstaticStringdoGet(StringHTTP_URL,Objectobject){BufferedReaderreader=null;Stringresult=null;StringBufferhttpUrl=newStringBuffer(HTTP_URL);StringBuffersbf=newStringBuffer();HttpURLConnectionconnection=null;try{System.out.println(httpUrl.toString());URLurl=newURL(httpUrl.toString());connection=(HttpURLConnection)url.openConnection();connection.setDoOutput(true);connection.setDoInput(true);//请求方式设置POSTconnection.setRequestMethod("GET");//设置维持长连接connection.setRequestProperty("Connection","Keep-Alive");//设置文件字符集:connection.setRequestProperty("Charset","UTF-8");//根据需求设置读超时的时间connection.setReadTimeout(50);//开始连接请求connection.connect();OutputStreamout=connection.getOutputStream();out.write((object.toString()).getBytes());out.flush();out.close();if(connection.getResponseCode()==200){System.out.println("连接成功,传送数据...");InputStreamis=connection.getInputStream();reader=newBufferedReader(newInputStreamReader(is,"UTF-8"));StringstrRead=null;while((strRead=reader.readLine())!=null){sbf.append(strRead);sbf.append("\r\n");}reader.close();result=sbf.toString();if(result.equals("1")){return"1";}elseif(result.equals("0")){return"0";}else{returnresult;}}else{System.out.println("连接失败,错误代码:"+connection.getResponseCode());}}catch(Exceptione){if(einstanceofSocketTimeoutException){if("Readtimedout".equals(e.getMessage())&&connection!=null&&connection.getDoOutput()){//TODO只请求不需要响应returnnull;}}e.printStackTrace();}returnnull;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。