1. 程式人生 > >http的get和post請求

http的get和post請求

HttpRequest中常見的四種ContentType,通過request.getContentType()得到

  1. application/x-www-form-urlencoded

  2. application/json

  3. multipart/form-data

  4. text/xml

HttpRequest中常見的請求method,通過request.getMethod()得到

  1. get
  2. post

獲得請求引數的幾個方法

  1. request.getParameter(“key”);
  2. request.getParameterNames();
  3. request.getQueryString();
  4. request.getInputStream();
  5. request.getReader();

1、request.getParameter(“key”):get和post請求都適用,contentType中除了mutipart/form-data

2、request.getParameterNames():get和post請求都適用,contentType中除了mutipart/form-data

這裡寫圖片描述
那麼得到的結果就是name=123&key=jkajak也就是“?”之後的字串
這裡寫圖片描述
4、request.getInputStream():適用於application/json、xml、mutipart/form-data文字流或者檔案流(大塊的二進位制資料)。規範中get請求中無body,而getinputStream()讀取body的內容,所以都是post請求才會用。

5、request.getReader():同request.getInputStream();

注意:因為HttpServletRequest中的流只能被讀取一次(不止HttpServletRequest,inputStream流根據規範都是隻能被讀取一次,為啥不能重複讀覺得這篇說的挺好http://zhangbo-peipei-163-com.iteye.com/blog/2021879),所以在getInputStream() ,getParameter(),getReader()這三個方法使用會有衝突。

​ 當使用contentType為application/x-www-form-urlencoded時,先通過request.getParameter(“key”)獲取引數後,再通過request.getInputStream() 是得不到流中的資料的。

​ 當contentType為multipart/form-data時,呼叫request.getParameter()對getInputStream()和getReader()無衝突,因為上面說了,getParameter讀不到資料。但是getInputStream()和getReader()不能同時使用。

相關推薦

發送getpost請求時常用的content-type

encode json數據格式 ima for www 下載 orm 文件上傳 服務器 常見的媒體格式類型如下: text/html : HTML格式 text/plain :純文本格式 text/xml : XML格式

HttpClient GETPOST請求

pri execute public methods gre col esp odt stringbu package com.rogue.hclient; import java.io.BufferedReader; import java.io.IOExceptio

http基本getpost請求

read exce pen timeout etc builder pri void tin get請求: private static void httpGet(){ BufferedReader br = null; HttpU

GETPOST請求的區別

cat nal 賬號 span asc 交互 cap 開發 code GET和POST請求的區別 GET請求GET /books/?sex=man&name=Professional HTTP/1.1Host: www.wrox.comUser-Agent: Mo

PUTPOST請求的區別

log github www for segment same fec web ogg 參考:http://blog.csdn.net/yangruibao/article/details/7898788 有的觀點認為,應該用POST來創建一個資源,用PUT來更

iOS開發-AFNetworking封裝Get(自定義HTTP Header)Post請求及文件下載

謝謝 filepath pos cat style -type poe repo eth 前面提到AFNetworking是一個很強大的網絡三方庫,首先你需要引入AFNetworking三方庫;如封裝的有誤還請指出,謝謝! 1.Get請求 /**Get請求 url 服務器

python request 接口測試getpost請求

.post .get access username int 用戶 post請求 運行 開發 開發IDE:pycharm python:2.7.10 get請求 # coding: UTF-8 #兼容中文字符,如果沒有這句,程序中有中文字符時,運行會報錯import

小程序的getpost請求頭的區別

type www 成功 ava form brush quest -type function 小程序在使用wx.request()接口 時 header 請求頭默認是這樣的 wx.request({ url: ‘test.php‘, //僅為示例,並非真實的接口

php-getpost請求

output class ray 工作日 打印 init print bsp clas 1.get請求 <?php //判斷20130101是否是工作日 //工作日對應結果為 0, 休息日對應結果為 1, 節假日對應的結果為 2; $url=‘http://www

PHP中使用CURL實現GETPOST請求

由於 protocol 對稱加密 即使 匯報 bst 接口 useragent 拷貝 一、什麽是CURL? cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫。使用php的cURL

CURL實現發送GetPost請求(PHP)

結果 基本 釋放 初始 常用 header 理解 介紹 今天 1.cURL介紹   cURL 是一個利用URL語法規定來傳輸文件和數據的工具,支持很多協議,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 庫。本文將介紹 cURL 的一些高級特性,以及

封裝curl的getpost請求

else 請求 enc con code urn gpo sta url /** * GET 請求 * @param string $url */ function http_get($url){ $oCurl = curl_init(); if(s

C#中GetPost請求的同步及異步方法

iter epo charset result string pty streambuf div httpget 在C#中發起Http請求一般使用HttpWebRequest這個類,下文將使用這個HttpWebRequest對象來對Get和Post的同步及異步請求進行封裝:

getpost請求

OS nbsp alt 請求 ima body bsp .com bubuko get和post請求

js-Ajax-getpost請求

js Ajax get 1:get請求方式:// 1:創建XMLHttpRequest對象 var xhr; if (window.XMLHttpRequest) { // 其他類型的瀏覽器 xhr = new XMLHttpRequest(); } else { // ie瀏覽器

Http協議中GETPOST請求方法的區別

出場 請求參數 底層 情況下 -type 過去 firefox url sym GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞

getpost請求方法的區別

外衣 log ati 技術 告訴 alt 怎麽 yahoo 鏈接 GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。 你可能自

ajax向服務器發出getpost請求

-c 效果 doc 假設 orm php 感覺 包含 只需要 假設有個網站A,它有一個簡單的輸入用戶名的頁面,界面上有兩個輸入框,第一個輸入框包含在一個form表單裏用來實現form提交,第二個輸入框是單獨的、沒有包含在form裏,下面就用這兩個輸入框來學習下jQuery的

http GET POST 請求的優缺點、區別以及誤區

Get和Post在面試中一般都會問到,一般的區別: (1)post更安全(不會作為url的一部分,不會被快取、儲存在伺服器日誌、以及瀏覽器瀏覽記錄中) (2)post傳送的資料更大(get有url長度限制) (3)post能傳送更多的資料型別(get只能傳送ASCII字元) (4)

Golang中http請求設定cookieheader(包括GETPOST請求)

//http請求 func httpHandle(method, urlVal,data string) { client := &http.Client{} var req *http.Request if data == "" { urlArr := strings.Sp