android 发送http,在Android用Get方式发送HTTP请求
对自己的Android学习做个总结,方便以后查看。
一、在Android用Get方式发送http请求,使用的是Java标准类,也比较简单。
主要分以下几步:
1.构造URL
URL url = new URL(String path);
2.设置连接
httpURLConnection = (HttpURLConnection) url.openConnection();
//超时时间
httpURLConnection.setConnectTimeout(3000);
//表示设置本次http请求使用GET方式
httpURLConnection.setRequestMethod("GET");
int responsecode = httpURLConnection.getResponseCode();//返回至为响应编号,如:HTTP_OK表示连接成功。
3.获取返回数据
if(responsecode == HttpURLConnection.HTTP_OK){
inputStream = httpURLConnection.getInputStream();
} //得到inputStream 就好办啦。
new InputStreamReader(inputStream,"utf-8")
4.关闭连接
void disconnect()
二、下面通过一个简单的Demo实现get方式的请求:
package com.http.get;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class HttpUtils {
private static String URL_PATH="http://www.baidu.com";
private static HttpURLConnection httpURLConnection = null;
public HttpUtils(){
}
public static void shuchu(){
InputStream inputStream = getInputStream();
String result;
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"utf-8"));
result = "";
String line = "";
try {
while((line = reader.readLine())!= null){
result = result+ line;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(result);
httpURLConnection.disconnect();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 获取服务端的数据,以InputStream返回
* @return
*/
public static InputStream getInputStream(){
InputStream inputStream = null;
try {
URL url = new URL(URL_PATH);
if(url != null){
try {
httpURLConnection = (HttpURLConnection) url.openConnection();
//超时时间
httpURLConnection.setConnectTimeout(3000);
//表示设置本次http请求使用GET方式
httpURLConnection.setRequestMethod("GET");
int responsecode = httpURLConnection.getResponseCode();
if(responsecode == HttpURLConnection.HTTP_OK){
inputStream = httpURLConnection.getInputStream();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return inputStream;
}
public static void main(String[] args){
//保存文件到本地
//saveImageToDisk();
shuchu();
}
}
//因为get方式是这ava标准类,直接写的java程序,不过都一样,android中也是一样的。。
简单的访问了百度,返回的就是百度搜索首页的源代码:图片一直上传不了。。。就不截图啦。
正确返回的就是你在网页单击右键有个查看源代码,返回的就是它,输出的也是它,自己可以去对比下一样不,是一样的。
android 发送http,在Android用Get方式发送HTTP请求相关推荐
- java http 流_java 模拟http请求,通过流(stream)的方式,发送json数据和文件
发送端: /** * 以流的方式 * 发送文件和json对象 * * @return */ public static String doPostFileStreamAndJsonObj(String ...
- Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数
Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数 27_网络通信之通过GET和POST方式提 ...
- Android Sending non-protected broadcast,sendBroadcastAsUser方式发送广播
有同事遇到发送广播接收不到的问题,分析log发现是system进程发送non-protected广播的问题.Ams在发送广播时,对于systemApp会要求广播必须是声明在frameworks\bas ...
- android发送短信的两种方式,发送长短信的两种方式,群发短信
android 发送短信的方法 方法一:调用系统的短信APP,发送短信. Intent smsIntent = new Intent(Intent.ACTION_VIEW);smsIntent.set ...
- Android之发送短信的两种方式
SMS涉及的主要类SmsManager 实现SMS主要用到SmsManager类,该类继承自java.lang.Object类,下面我们介绍一下该类的主要成员. 公有方法: ArrayList< ...
- Android Get方式发送信息
程序需要用到Internet权限,所以需要在AndroidManifest.xml添加 <uses-permission android:name="android.permissio ...
- android 多个应用,Android中一个应用实现多个图标的几种方式
前言 最近因为新需求需要,我的应用将有多个ICON入口..最终选择了 activity-alias , 其实实现多图标有好几种方式,下面就给大家总结下,分享出来供大家参考学习: 1. 多Activit ...
- [转]Android中程序与Service交互的方式——交互方式
本文转自:http://blog.csdn.net/yihongyuelan/article/details/7216188 上一篇文章:Android中程序与Service交互的方式--综述 简述了 ...
- android中跨进程通讯的4种方式
由于android系统中应用程序之间不能共享内存.因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些.在android SDK中提供了4种用于跨进程通讯的方式.这4种方式正好对应于andro ...
最新文章
- 卫星图像中的车辆分析--A Large Contextual Dataset for Classification, Detection and Counting of Cars
- ASP.NET Core 数据保护(Data Protection)【中】
- 富士通服务器 css灯亮,富士通空调指示灯故障含义-富士通空调指示灯代码
- 根据内容来产生一个二维码
- 下图为双总线结构机器的数据通路_PDPS机器人虚拟调试 弧焊仿真 第一课 弧焊项目创建...
- 利用MS17-010渗透win7(32位)
- [精华][推荐]SSO CAS单点登录框架学习 搭建详细步骤及源码
- Error: Can't resolve 'babel-loader'
- 信息学奥赛一本通C++语言——1032:大象喝水
- 王道2.1 abc python3
- 分块 数据不相同_ArcGIS四分法分幅栅格数据(超强版)
- 强大的代码编辑工具:Nova for mac v7.3中文版
- 电力通信规约CDT/Modbus/101/103/104/DL/T645应用分析
- 计算机的剪切快捷键是什么意思,剪切的快捷键是什么【快捷键大全】
- 计算机无法备份,无法备份和备份会话失败iTunes问题解决
- bzoj 3375: [Usaco2004 Mar]Paranoid Cows 发疯的奶牛
- 新人报道,请多多关照。
- java数独算法_数独求解算法(回溯法和唯一解法)java实现
- C#WinForm判断界面上多个TextBox控件的值是否为空
- GOCAD 2009 完整版功能强大的三维地质建模软件
热门文章
- RationalDMIS 2020快速输出极半径和极角
- python爬虫分析
- 故宫------珍宝馆
- 微信网页开发--简单的排号页面(c#、vue)
- 真情呼唤---寻奥运训练中受伤或伤病严重的运动员,爱我中华大型公益活动
- PostCSS a not plugin 打包is jenkins打包发布问题跟踪 Error: [object Object] is not a PostCSS plugin
- ISO14229-1专栏(5)--诊断与通信管理功能单元服务介绍
- elementUI中,实现一个单元格内显示两行数据,并用其中一个数据进行排序。
- python中字符串(比如文件路径)前面有一个r或者f什么意思
- springcloud- cloud Halibaba版本(超详细!第一部分)