remington_young 发表于 2017-1-8 07:20:35

apache httpget 网络连接 读取数据

  public class Test extends Activity implements OnClickListener {
      public Context context;
      private TextView textView1;
      DefaultHttpClient  httpClient ;
      public static String URL ="http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl";
      private static final int TIMEOUT = 60;
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
          init();
          try {
              
              
              HttpParams paramsw = createHttpParams();
              httpClient = new DefaultHttpClient(paramsw);
              HttpGet httpGet=new HttpGet("http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl");
                  try {
                      HttpResponse httpResponse = httpClient.execute(httpGet); //连接服务器
                  int httpCode = httpResponse.getStatusLine().getStatusCode();
                  if (httpCode == HttpURLConnection.HTTP_OK) {
                      Header[] headers=httpResponse.getAllHeaders();
                      HttpEntity entity=httpResponse.getEntity();
                      Header header=httpResponse.getFirstHeader("content-type");
                      
                      //下面是从流中把字符串读出来了
                      InputStream inputStream=entity.getContent();
                      InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
                      BufferedReader reader = new BufferedReader(inputStreamReader);//读字符串用的。
                      String inputLine = null;
                      String result = "";
                      // 使用循环来读取获得的数据,把数据都村到result中了
                      while (((inputLine = reader.readLine()) != null)) {
                          // 我们在每一行后面加上一个"\n"来换行
                          result += inputLine + "\n";
                      }
                      reader.close();//关闭输入流
                  }else {
                      textView1.setText("Error Response"+httpResponse.getStatusLine().toString());
                  }
              } catch (UnsupportedEncodingException e) {
                  textView1.setText("网络连接错误UnsupportedEncodingException");
              } catch (ClientProtocolException e) {
                  textView1.setText("网络连接错误ClientProtocolException");
              } catch (IOException e) {
                  textView1.setText("网络连接错误IOException");
              }
          } finally {
  

              if (httpClient != null) {
                  httpClient.getConnectionManager().shutdown();//最后关掉链接。
                  httpClient = null;
              }
          }
      }
  相关链接:http://www.eoeandroid.com/thread-13873-1-1.html
页: [1]
查看完整版本: apache httpget 网络连接 读取数据