一、在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中也是一样的。。
简单的访问了百度,返回的就是百度搜索首页的源代码:图片一直上传不了。。。就不截图啦。
正确返回的就是你在网页单击右键有个查看源代码,返回的就是它,输出的也是它,自己可以去对比下一样不,是一样的。