Android 使用三种方式获取网页(通过Post,Get进行表单的提交)

在这里把三种获取网页内容的信息进行了综合,在前面已经对通过表单提交上传文件进行了处理,现在把这三种方式进行了综合,放到一块,帮助大家进行一个比较,下面为三种方式 的部分代码:

一共三个函数,都可以直接调用,但是在访问网络的时候,记得要加上访问权限

 

代码
 
   
// 直接获取信息
void DirectInfo() throws IOException {

URL url
= new URL(SRC);

HttpURLConnection httpConn
= (HttpURLConnection) url.openConnection();

InputStreamReader inStreamReader
= new InputStreamReader(httpConn
.getInputStream());

BufferedReader bufReader
= new BufferedReader(inStreamReader);

String line
= "" ;
String Date
= " OK " ;
while ((line = bufReader.readLine()) != null ) {
Date
+= line + " \n " ;
}

edit1.setText(Date);

}

// get方式获取信息
void getInfo() throws IOException {
// 将上面使用的方法直接修改一下即可。

URL url
= new URL(SRC + " /default.aspx?NAME= "
+ URLEncoder.encode( " abc " , " utf-8 " ));
HttpURLConnection httpconn
= (HttpURLConnection) url.openConnection();

InputStreamReader inputReader
= new InputStreamReader(httpconn
.getInputStream());

BufferedReader bufReader
= new BufferedReader(inputReader);

String line
= "" ;
String Date
= "" ;

while ((line = bufReader.readLine()) != null ) {
Date
+= line;
}

edit1.setText(Date);

}

// Post方式获取信息
void postInfo() throws MalformedURLException, IOException {
// Post 方法比Get方法需要设置的参数更多

HttpURLConnection httpconn
= (HttpURLConnection) new URL(SRC)
.openConnection();
// post 方式,输入输出需要设置为true
httpconn.setDoInput( true );
httpconn.setDoOutput(
true );
httpconn.setRequestMethod(
" POST " ); // 设置为Post方式,默认为get方式
httpconn.setUseCaches( false ); // 不使用缓存
httpconn.setInstanceFollowRedirects( true ); // 重定向
httpconn.setRequestProperty( " Content-type " ,
" Application/x-www-form-urlencoded " ); // 设置连接 的Content-type类型为:
// application/x-www-form-urlencoded
httpconn.connect(); // 连接

DataOutputStream out
= new DataOutputStream(httpconn.getOutputStream()); // 声明数据写入流

String content
= " NAME= " + URLEncoder.encode( " fly_binbin " , " gb2312 " );

out.writeBytes(content);

out.flush();
out.close();

BufferedReader reader
= new BufferedReader( new InputStreamReader(httpconn.getInputStream()));

String line
= "" ;
String resultDate
= "" ;
while ((line = reader.readLine()) != null )
{
resultDate
+= line;
}
edit1.setText(resultDate);

}

 

网址的话,可以自己做一个测试服务器。我这个测试服务器是我自己写的,进行测试用的,用Asp.net写的,用其它的方法写的结果是一样的。包括使用Web服务结果也是一样的!

转载于:https://www.cnblogs.com/fly_binbin/archive/2010/12/19/1910535.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值