首页 > 代码库 > Android通过HTTP POST带参访问asp.net网页

Android通过HTTP POST带参访问asp.net网页

在看了网络上很多视频关于android通过HTTP POST或者GET方式访问网页并获取数据的方法。

自己也copy了一份来测试,并通过C#.NET搭建了一个简单的后台,但发现传参时,按照网上的方式来做无法得到相应的结果。

以下是我的求贴

http://bbs.csdn.net/topics/390814679

发了好久都没有人关于答复这个问题,估计大家都不是使用ASP.NET来做后台。

经过了反复的测试手机端代码,发现其实ASP.NET做的后台,其实能够直接解析URL中带参数,不需要通过网上介绍的方法实现

以下是截取测试代码的主要部分:

按钮触发:

<span style="white-space:pre">	</span>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端显示显示:


PC与手机显示的结果是一致的!