HttpClient(獲取手機資訊)GET和POST
阿新 • • 發佈:2018-12-19
GET請求
private EditText input; private TextView info; private final int UPDATE_UI = 1; @SuppressLint("HandlerLeak") private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case UPDATE_UI: info.setText(msg.obj.toString()); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); input = findViewById(R.id.input); info = findViewById(R.id.info); findViewById(R.id.query).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread( new Runnable() { @Override public void run() { //在build.gradle中宣告使用 //新增依賴 //getRequestData(input.getText().toString()); postRequestData(input.getText().toString()); } } ).start(); } }); } private String url = "http://tcc.taobao.com/cc/json/mobile_tel_segment.htm"; private void getRequestData(String phoneNum) { //1 建立 HttpClient HttpClient client = HttpClients.createDefault(); //HttpUriRequest HttpGet get = new HttpGet(url + "?tel=" + phoneNum); try { //shift f6 重構 //執行請求 HttpResponse response = client.execute(get); //獲取結果 int statusCode = response.getStatusLine().getStatusCode(); if (statusCode == 200) { String result = EntityUtils.toString(response.getEntity()); mHandler.sendMessage(mHandler.obtainMessage(UPDATE_UI, result)); } } catch (IOException e) { e.printStackTrace(); } }
POST請求
private void postRequestData(String phoneNum) { try { //建立HttpClient HttpClient client = HttpClients.createDefault(); //post請求 HttpPost post = new HttpPost(url); // 構建請求引數 List<NameValuePair> params = new ArrayList<>(); params.add(new BasicNameValuePair("tel", phoneNum)); //請求體 post.setEntity(new UrlEncodedFormEntity(params)); //執行請求 HttpResponse response = client.execute(post); //獲取結果 int statusCode = response.getStatusLine().getStatusCode(); if (statusCode == 200) { String result = EntityUtils.toString(response.getEntity()); mHandler.sendMessage(mHandler.obtainMessage(UPDATE_UI, result)); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }