簡(jiǎn)單測(cè)試get和post請(qǐng)求

本文的目的是記錄學(xué)習(xí)http過(guò)程遇到的問(wèn)題赚爵,因此使用tomcat搭建了服務(wù)器教沾,簡(jiǎn)單測(cè)試get和post在抛,本篇只是簡(jiǎn)單記錄并不深入探究get和post的差異褥伴,需要更詳細(xì)的可以看這篇http://www.reibang.com/p/78b7012e27b3

1.安裝tomcat與eclipse 腥沽。
這部分可以參考我這篇文章逮走。
tomcat+eclipse+servlet在chrome上實(shí)現(xiàn) https 雙向認(rèn)證簡(jiǎn)單記錄
2.新建工程。
點(diǎn)擊菜單欄File->New->Dynamic Web Project

image.png

隨意命名xxx今阳,點(diǎn)擊finish师溅。
image.png

然后茅信,選中剛剛新建的項(xiàng)目xxxx,右鍵選擇New->Servlet墓臭。
image.png

在Class name中填xxxx蘸鲸,然后點(diǎn)擊finish。
image.png

于是自動(dòng)生成如下文件窿锉。
image.png

代碼具體如下酌摇。



import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Test
 */
@WebServlet("/Test")
public class Test extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Test() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

接下來(lái)將doPost()函數(shù)中的代碼修改一點(diǎn)。

 doGet(request, response);

改為

response.getWriter().append("Served1111 at: ").append(request.getContextPath());

這樣在后續(xù)使用postman測(cè)試的get和post時(shí)候返回的數(shù)據(jù)就不一樣了嗡载。

改好后保存窑多,然后選中java文件后右鍵,選擇run as 洼滚,然后點(diǎn)擊run on server埂息。

image.png

點(diǎn)擊finish。
image.png

自動(dòng)訪問(wèn)下面的鏈接遥巴。
http://localhost:8080/Tttt/Test
response如下所示千康,這里是get。
image.png

3.postman簡(jiǎn)單使用
瀏覽器中只能測(cè)試get铲掐,無(wú)法測(cè)試post拾弃。早幾年windows中可以使用firefox中的poster或者chrome中的postman插件,但是現(xiàn)在不行了迹炼。
不過(guò)postman還能用砸彬,但是需要下載客戶端。
下載地址:
https://www.getpostman.com/downloads/
下載好所需版本后斯入,需要注冊(cè)賬號(hào)砂碉。
注冊(cè)號(hào)賬號(hào)后進(jìn)入客戶端,主界面如下刻两。這里不需要?jiǎng)?chuàng)建增蹭,直接x掉。

image.png

使用untitled request
image.png

先測(cè)試get磅摹。
方法選擇get滋迈,然后填上鏈接 http://localhost:8080/Tttt/Test,最后點(diǎn)擊send户誓。

image.png

結(jié)果如下饼灿。


image.png

image.png

將get改成post后再次send。


image.png

image.png

至此帝美,pc端的get和post的簡(jiǎn)單測(cè)試就完成了碍彭。
如果想使用android真機(jī)測(cè)試的話,在保證手機(jī)和電腦在同一局域網(wǎng)的情況下使用pc端的ip地址去替換localhost。
在cmd窗口中輸入ipconfig庇忌,找到ipv4地址舞箍。

然后android端可訪問(wèn)鏈接即為 http://xx.xx.xx.xx:8080/Tttt/Test (xx部分為本機(jī)ip地址)。

android端測(cè)試代碼比較簡(jiǎn)單皆疹,簡(jiǎn)單貼一下:
首先在manifest中添加網(wǎng)絡(luò)權(quán)限疏橄。

    <uses-permission android:name="android.permission.INTERNET"/>

Activity文件如下。


public class MainActivity extends AppCompatActivity {
    private static final String TAG = "MainActivity";
    private Button bt_get;
    private Button bt_post;
    //url需替換成自己的android端可訪問(wèn)的鏈接
    private String url = "http://10.4.17.27:8080/Tttt/Test";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        bt_get = (Button) findViewById(R.id.bt_get);
        bt_get.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            URL httpUrl = new URL(url);
                            HttpURLConnection con=(HttpURLConnection) httpUrl.openConnection();
                            InputStream inputStrea = null;//字節(jié)流
                            inputStrea = con.getInputStream();
                            InputStreamReader inputStreamReader = new InputStreamReader(inputStrea);//轉(zhuǎn)為字符流
                            //通過(guò)bufferReader 讀取
                            BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
                            String content = null;
                            content = bufferedReader.readLine();
                            int responseCode = 0;//獲得狀態(tài)碼
                            responseCode = con.getResponseCode();
                            String headerField=con.getHeaderField("Server");//獲取消息頭 名字為 Server的頭
                            Log.d(TAG,"content = " + content);
                            Log.d(TAG, "responseCode = " + responseCode );
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
            }
        });

        bt_post = (Button) findViewById(R.id.bt_post);
        bt_post.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            URL httpUrl = new URL(url);
                            HttpURLConnection con=(HttpURLConnection) httpUrl.openConnection();
                            con.setDoOutput(true);//cannot write to a URLConnection if doOutput=false - call setDoOutput(true)
                            //給服務(wù)器發(fā)送請(qǐng)求頭
                            con.setRequestMethod("POST");
                            con.getResponseCode();//表示 請(qǐng)求完成  一個(gè)請(qǐng)求是有來(lái)回的

                            InputStream inputStrea = null;//字節(jié)流
                            inputStrea = con.getInputStream();
                            InputStreamReader inputStreamReader = new InputStreamReader(inputStrea);//轉(zhuǎn)為字符流
                            //通過(guò)bufferReader 讀取
                            BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
                            String content = null;
                            content = bufferedReader.readLine();
                            int responseCode = 0;//獲得狀態(tài)碼
                            responseCode = con.getResponseCode();
                            String headerField=con.getHeaderField("Server");//獲取消息頭 名字為 Server的頭
                            Log.d(TAG,"content = " + content);
                            Log.d(TAG, "responseCode = " + responseCode );
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }).start();
            }
        });
    }

}

xml文件如下略就。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/bt_get"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="get"/>

    <Button
        android:id="@+id/bt_post"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="post"/>

</LinearLayout>

run后分別點(diǎn)擊get和post后結(jié)果如下捎迫。


image.png
09-16 16:00:50.822 28865-30737/? D/MainActivity: content = Served at: /Tttt
09-16 16:00:50.822 28865-30737/? D/MainActivity: responseCode = 200
09-16 16:00:52.274 28865-30746/? D/MainActivity: content = Served1111 at: /Tttt
09-16 16:00:52.274 28865-30746/? D/MainActivity: responseCode = 200

這篇文章到此就結(jié)束了,下面接著回到http的學(xué)習(xí)中去残制。

參考鏈接:
Postman安裝與使用

手機(jī)訪問(wèn)本地Tomcat服務(wù)器
http://www.reibang.com/p/de48dc7981fe

Java HttpURLConnection 小demo
http://www.reibang.com/p/863b1f2c4c74

GET與POST請(qǐng)求詳解
http://www.reibang.com/p/78b7012e27b3

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末立砸,一起剝皮案震驚了整個(gè)濱河市掖疮,隨后出現(xiàn)的幾起案子初茶,更是在濱河造成了極大的恐慌,老刑警劉巖浊闪,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恼布,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡搁宾,警方通過(guò)查閱死者的電腦和手機(jī)折汞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)盖腿,“玉大人爽待,你說(shuō)我怎么就攤上這事◆娓” “怎么了鸟款?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)茂卦。 經(jīng)常有香客問(wèn)我何什,道長(zhǎng),這世上最難降的妖魔是什么等龙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任处渣,我火速辦了婚禮,結(jié)果婚禮上蛛砰,老公的妹妹穿的比我還像新娘罐栈。我一直安慰自己,他們只是感情好泥畅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布荠诬。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浅妆。 梳的紋絲不亂的頭發(fā)上望迎,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音凌外,去河邊找鬼辩尊。 笑死,一個(gè)胖子當(dāng)著我的面吹牛康辑,可吹牛的內(nèi)容都是我干的摄欲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼疮薇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼胸墙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起按咒,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤迟隅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后励七,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體智袭,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年掠抬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吼野。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡两波,死狀恐怖瞳步,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腰奋,我是刑警寧澤单起,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站氛堕,受9級(jí)特大地震影響馏臭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜讼稚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一括儒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧锐想,春花似錦帮寻、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)浅蚪。三九已至,卻和暖如春烫罩,著一層夾襖步出監(jiān)牢的瞬間惜傲,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工贝攒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盗誊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓隘弊,卻偏偏與公主長(zhǎng)得像哈踱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梨熙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容