post方式請求數據

来源:http://www.cnblogs.com/Renyi-Fan/archive/2017/09/07/7489187.html
-Advertisement-
Play Games

post方式請求數據 分析: 1、將請求方式改成post conn.setRequestMethod("POST"); 2、設置連接可以輸出 conn.setDoOutput(true); 3、告訴伺服器客戶端提交的數據類型(表單數據) conn.setRequestProperty("Conten ...


post方式請求數據

 

分析:

1、將請求方式改成post

  conn.setRequestMethod("POST");  

2、設置連接可以輸出

  conn.setDoOutput(true);

3、告訴伺服器客戶端提交的數據類型(表單數據)

  conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=utf-8");

  application/x-www-form-urlencoded代表表單數據

  如果是別的數據,這個部分是不同的,比如文件或者音頻視頻的二進位數據

4、創建輸出流,給伺服器寫數據

  OutputStream output=conn.getOutputStream();

  output.write("username=老師".getBytes("UTF-8"));

  output.close();

  故伺服器會受到老師這兩個字

 

 1 package com.example.htmldaimachakanqi;
 2 
 3 import java.io.IOException;
 4 import java.io.InputStreamReader;
 5 import java.io.OutputStream;
 6 import java.io.UnsupportedEncodingException;
 7 import java.net.HttpURLConnection;
 8 import java.net.MalformedURLException;
 9 import java.net.URL;
10 
11 import android.app.Activity;
12 import android.os.AsyncTask;
13 import android.os.Bundle;
14 import android.util.Log;
15 import android.view.View;
16 import android.widget.EditText;
17 
18 public class MainActivity extends Activity {
19     private EditText et_content;
20 
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.activity_main);
25         et_content = (EditText) findViewById(R.id.et_content);
26     }
27 
28     public void onClick(View view) throws UnsupportedEncodingException {
29         new AsyncTask<String, Void, String>() {
30             @Override
31             protected String doInBackground(String... params) {
32                 StringBuffer buffer=new StringBuffer();
33                 try {
34                     Log.d("bh", params[0]);
35                     // 封裝了URL對象
36                     URL url = new URL(params[0]);
37                     // 獲取http連接對象
38                     HttpURLConnection conn = (HttpURLConnection) url
39                             .openConnection();
40                     // 設置請求的方式  
41                     conn.setRequestMethod("POST");  
42                     // 設置請求的超時時間  
43                     conn.setReadTimeout(5000);  
44                     conn.setConnectTimeout(5000);
45                     //設置連接是否可以輸出
46                     conn.setDoOutput(true);
47                    //設置連接是否可以輸入
48                     conn.setDoInput(true);
49                     //告訴伺服器客戶端提交的數據類型(表單數據)
50                     conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
51                     OutputStream output=conn.getOutputStream();
52                     output.write("username=老師".getBytes("UTF-8"));
53                     output.close();
54                     // 獲取狀態碼
55                     int code = conn.getResponseCode();
56                     Log.d("bh",code+"");
57                     if (code == 200) {// 請求成功
58                         Log.d("bh",conn.getHeaderFields().toString());
59                         // 獲取響應消息的實體內容
60                         InputStreamReader reader = new InputStreamReader(
61                                 conn.getInputStream());
62                         char[] charArr = new char[1024 * 8];
63                         int len = 0;
64                         while ((len = reader.read(charArr)) != -1) {
65                             // 字元數組轉字元串
66                             String str = new String(charArr, 0, len);
67                             // 在結尾追加字元串
68                             buffer.append(str);
69                         }
70                     }
71                 } catch (MalformedURLException e) {
72                     e.printStackTrace();
73                 } catch (IOException e) {
74                     e.printStackTrace();
75                 }
76                 return buffer.toString();
77             }
78 
79             protected void onPostExecute(String result) {
80                 // 設置字元串到編輯框
81                 et_content.setText(result);
82             };
83         }.execute("http://192.168.1.100:8080/WEB/TestServlet");
84     }
85 }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ##字元串## 字元串: 由0個或多個字元組成,被成對的英文單引號或雙引號包含起來的。 字元編碼: 每一個字元在電腦存儲的編號。 電腦會保存有一套或幾套用於標註編號與字元對應關係的字典。(字元集) 電腦存儲單位 位:bit->0/1能存2個字 位元組:byte->8bit可存256個不同的字。 ...
  • 1. 安卓下大面積觸摸會導致觸發touchmove的問題 判斷一下touchstart的上一次位置和當前位置是否一樣,一樣就使move return掉 <body> <div class="page"> <div id="box"></div> </div> <script type="text/j ...
  • 工作中需要將一個左邊的設計好的控制項,拖拽到右邊的面板中,同時保持右邊面板中的控制項自由排序,這時候就需要及支持拖拽又支持排序的操作了, Demo截圖:從左邊控制項拖到右邊區域 代碼段: Html 代碼: ...
  • JSON的android應用實例 Json線上解析器 1、普通鍵值對象 2、Json數組對象 3、Json數組對象 ...
  • Android icon尺寸 密度範圍 切圖比例(以mdpi為基準) 切圖比例(以xxxhdpi為基準) 圖標尺寸 外間距 ((圖標尺寸-圖片尺寸)/2) ...
  • JSON 教程 說明: 可以自己百度JSON解析器來查看自己寫的JSON是否正確。 參考: JSON 教程http://www.w3school.com.cn/json/index.asp JSON 教程 | 菜鳥教程http://www.runoob.com/json/json-tutorial. ...
  • 一、安裝環境 1、安裝VS2017 2、安裝Xamarin擴展包 3、安裝NDK 工具欄中,一個為AVD(模擬器管理)一個為NDK(管理Andoid SDK) 3.1 先打開NDK,在Tools\Options中設置代理(因是要從Goolge下載,所以需要設置代理) ,這裡我使用的是mirrors. ...
  • 1.Manifest合併 在Android studio編譯項目時,無論你使用了幾個Module都會把所有Manifest最終合併成一個,需要我們註意的是application標簽下這個幾個屬性引用的值。 如果多個Module有相同名字的資源,在編譯時會不知道引用哪個資源而導致Manifest合併失 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...