创建一个名为HttpUtil的类并提供名为sendHttpRequest静态方法.

相关代码如下:

package com.hzy.networktest;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUtil {
public static void sendHttpRequest(final String address,final HttpCallbackListener listener){
new Thread(new Runnable() {
public void run() {
HttpURLConnection connection=null;
try {
URL url=new URL(address);
connection=(HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
connection.setDoInput(true);
connection.setDoOutput(true);
InputStream in=connection.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(in));
StringBuilder response=new StringBuilder();
String line;
while((line=reader.readLine())!=null){
response.append(line);
}
if(listener!=null){
listener.onFinish(response.toString());
}
} catch (Exception e) {
// TODO: handle exception
if(listener!=null){
listener.onError(e);
}
}finally {
if(connection!=null){
connection.disconnect();
}
}
}
}).start();
}
}

以后每当需要发起一条HTTP请求的时候可以简化为以下写法:
String address="http://www.*******";//(输入相应的网址或者其他的类型为URL的资源地址)
String response=HttpUtil.sendHttpRequest(address,new HttpCallbackListener){
//重写onFinish()
public void onFinish(string response){
//在这里根据返回的内容执行具体的逻辑
}
//重写onError()
public void onError(Exception e){
//在这里对异常情况进行处理
}

};
希望我们在学习的过程中多留意这些常用功能的封装,进而让自己写程度的过程更便捷

关于对发送HTTP请求以及解析服务器返回的数据操作的提取到一个公共类中进行封装相关推荐

  1. Java发送Http请求,解析html返回

    今天是2008年7月7日星期一,下午一直在学校做个人开始页面.因为离不开google的翻译,所以想把google的翻译整合到我的开始页面中来,于是乎就遇到了一个问题,怎样使用java程序发送http请 ...

  2. Ajax入门-搭建服务器并使用ajax技术向服务器发送一个请求并获得服务器返回的数据

    今天刚入坑学习ajax,刚开始就遇到服务器这一知识盲区,经过解决各种问题,成功运行的代码,下面就分享给你们,希望能够帮你们解决问题. (一)node.js安装 1.进入官网,下载对应版本 2.下载了. ...

  3. HttpClient解析服务器返回的response出现乱码

    引用处: [问题解决]HttpClient解析服务器返回的response出现乱码 问题场景 最近在用httpClient做网络爬虫的时候,遇到了一个不大不小的问题,当使用HttpGet向指定网址发送 ...

  4. 查看LoadRunner脚本请求日志和服务器返回值方法

    1.  查看所有请求日志和请求响应信息: 采用LoadRunner工具Run-time settings或按键盘F4,选择LOG设置,选择Extended log->Data returned ...

  5. python token发送请求_python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息...

    python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息 登录接口代码: 在这里插入图片描述 登陆后返回的结果是: 在这里插入图片描述 新增渠道接口: 新增渠道接口需 ...

  6. java发送post请求上传文件和json数据

    java发送post请求上传文件和json数据 因为第三方的上传服务post参数使用了两个@requestpart参数. 但是feign不可以使用两个@requestpart参数.会报错:java.l ...

  7. SOS强力求助—如何上传一个xml文件到一个服务器,并且得到服务器返回的数据。-已解...

    大家好!我想把一个本地的一个xml文件上传的指定的服务器上,并且取得服务器返回给我的数据.我用一个很简单的界面,就是一个按钮和一个textview.当我点击按钮时,开始发送我的xml文件到服务器,我们 ...

  8. 第三节:微信小程序模拟动态加载服务器返回json数据

    上一节虽然完成了新闻的静态展示页面,但是实际开发中,数据通常是请求服务器返回的json数据,这时候就需要页面动态加载显示服务器返回的数据. 在完成的静态页面的代码上,需要做相应的修改,首先需要编写po ...

  9. 服务器返回的数据把标签转义为其它字符

    问题描述:服务器返回的数据把<标签.>标签转义成了>.< 解决办法:字符串替换 responseMessage=responseMessage.replaceAll(" ...

最新文章

  1. Go Python 6: Softmax Classifier
  2. UA MATH523A 实分析3 积分理论例题 一个测度与积分的综合计算题
  3. Ubuntu16.04删除客人会话
  4. IOS 设备信息读取
  5. 具备白名单、黑名单的Filter基类扩展
  6. C#9.0 每个开发人员都必须知道的4个特性
  7. qt 安装mysql_qt 安装mysql数据库
  8. Android 之 下拉框(Spinner)的使用
  9. httpclient java多线程_Apache HttpClient4.5多个HTTP请求使用多线程执行
  10. C# ping 局域网扫描
  11. 追赶法源程序c语言,追赶法求三对角线方程组程序设计.doc
  12. 样条曲线(参数曲线)曲率
  13. 哈哈哈,我终于注册了CSDN的账号
  14. NOI题库答案(1.2 编程基础之变量定义、赋值及转换)
  15. 微信小程序-数据库基础操作
  16. 【通知】4月18日22:00至4月19日2:00网站服务暂停公告
  17. 22长安杯——个人赛
  18. 计算机专业学微积分有什么用,学微积分有什么用啊?
  19. 【离散数学】集合论基础
  20. 基于域名的虚拟主机配置

热门文章

  1. 如何更好阅读源代码 .
  2. h.264视频文件封装
  3. 需求规格说明书1.0
  4. SJXXX串口扩展芯片 4串口芯片 UART串口芯片
  5. atitit.短信 验证码  破解  v3 p34  识别 绕过 系统方案规划----业务相关方案 手机验证码  .doc...
  6. 三层架构与设计模式思想部署企业级数据库业务系统开发
  7. C# 图片盖章功能实现,支持拖拽-旋转-放缩-保存
  8. J2SE J2EE J2ME的区别
  9. Android 调整屏幕分辩率
  10. Android 开发笔记 一