asp.net 抓取网页数据(关于ASP.NET做的后台,的一些事儿(图))
优采云 发布时间: 2022-04-09 18:44asp.net 抓取网页数据(关于ASP.NET做的后台,的一些事儿(图))
在网上看了很多关于android如何访问网页并通过HTTP POST或GET获取数据的视频后。
我也复制了一份进行测试,通过C#.NET搭建了一个简单的后台,但是发现传参数的时候,网上做的并不能得到对应的结果。
这是我的要求
很久没有人回答这个问题了。估计大家后台用的不是ASP.NET。
经过手机代码反复测试,发现ASP.NET做的后台其实可以直接解析URL中的参数,不需要通过网上介绍的方法实现。
下面是截取的测试代码的主要部分:
按钮触发:
final Button btn2 = (Button) findViewById(R.id.button2);
btn2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
progressDialog = ProgressDialog.show(MainActivity.this,
"加载中...", "请等待...", true, false);
// 新建线程
new Thread() {
@Override
public void run() {
// 需要花时间计算的方法
try {
String str = posturl("http://aspspider.info/lanjackg2003/Default.aspx?name=lan120576664&psw=456");
textViewhttpRes.setText(str.toString());
} catch (Exception e) {
// TODO: handle exception
}
// 向handler发消息
handler.sendEmptyMessage(0);
}
}.start();
}
});
获取网页数据的代码:
public String posturl(String url){
InputStream is = null;
String result = "";
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
return "Fail to establish http connection!"+e.toString();
}
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
Log.v(LOG_TAG,result.toString());
}catch(Exception e){
return "Fail to convert net stream!";
}
return result;
}
手机显示屏
电脑显示屏显示:
PC端和手机端显示的结果一致!