1. 程式人生 > >使用httppost請求傳送form表單的方法

使用httppost請求傳送form表單的方法

本人在使用httpclient做介面自動化的過程中,遇到了post請求提交資料是form表單,因為我從資料庫讀取到的case是map形式的,所以經常嘗試和驗證,寫了一個方法把map裡面的資料轉化為form表單,然後使用post請求傳送資料。下面是轉化和設定方法,分享出來,供大家參考。

	/**
	 * 設定post介面上傳表單
	 * 
	 * @param httpPost
	 *            post請求
	 * @param apiCase
	 *            傳入的引數map
	 */
	public void setFormHttpEntity(HttpPost httpPost, Map<String, String> apiCase) {
		Set<String> keys = apiCase.keySet();
		List<NameValuePair> formparams = new ArrayList<NameValuePair>();
		for (String key : keys) {
			formparams.add(new BasicNameValuePair(key, apiCase.get(key)));
		}
		UrlEncodedFormEntity entity = null;
		try {
			entity = new UrlEncodedFormEntity(formparams, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			output("form表單錯誤!");
			e.printStackTrace();
		}
		httpPost.setEntity(entity);
	}
這裡可能會遇到中文所以統一用了urlencodeformentity這個型別的實體。

相關推薦

使用httppost請求傳送form方法

本人在使用httpclient做介面自動化的過程中,遇到了post請求提交資料是form表單,因為我從資料庫讀取到的case是map形式的,所以經常嘗試和驗證,寫了一個方法把map裡面的資料轉化為form表單,然後使用post請求傳送資料。下面是轉化和設定方法,分享出來,供

ajax請求傳送form資料以及中文亂碼處理

將資料放在form表單中通過form.submit去提交資料是我們常用也很方便的請求方式,但是有時候我們需要不重新整理頁面去處理資料,這個時候就要用到ajax,並且查詢的資料存放在form表單中,有時

@ModelAttribute獲取POST請求FORM資料

1.JSP表單如下: <form method="post" action="hao.do"> a: <input id="a" type="text" name="a" /> b: <input id="b" type="text" nam

純js實現,get請求formpost請求

如果這個頁面叫param.html那麼你只需要請求 域名/param.html?requestUrl=請求域名&key=value........既可以把原本的 get請求轉換為表單post請求。 <html> <head> <meta

Multipart/form-data POST檔案上傳詳解 理論 簡單的HTTP POST 大家通過HTTP向伺服器傳送POST請求提交資料,都是通過form提交的,程式碼如下:

Multipart/form-data POST檔案上傳詳解 理論 簡單的HTTP POST 大家通過HTTP向伺服器傳送POST請求提交資料,都是通過form表單提交的,程式碼如下: <form method="post"action="http://w.soh

Extjs6關於Ajax和form提交以及store請求session超時的處理方法

對於Store的處理 每個store配置的時候,配上load監聽,載入時處理: usrStore : { model : 'App.model.Usr', autoLoad :

form提交,後臺方法請求提示400,不進斷點

form表單提交,後臺方法請求提示400 發現前臺的date型別form資料不能傳值到controller中的引數中,需要在請求獲取資料之前轉換型別 @initBinder可以直接在你的controller中提供資料繫結。initbinder 方法不能有返回

JQuery呼叫Ajax使用Submit方法後臺無法接受到傳送form

在使用jQuery呼叫ajax向後臺傳送資料的時候 如果我們的事件發生的標記是點選了submit按鈕 或許會發生後臺無法接受到傳遞的form表單的情況 這是因為在web中點選submit按鈕時 會觸動submit中的一個固定方法 其效果就是通過form

Form和ajax中的post請求&&後臺獲取資料方法(深度好文)

最近要做後臺資料接收,因為前臺傳來的資料太過於混亂,所以總結了一下前臺資料post請求方法,順便寫了下相對應的後臺接收方法。         前臺主要的contenttype為下面三種:(需要注意的是請求頭中datatype與contenttype的區別,dat

form的應用:form對象自帶屬性和方法及提交時提交的數據.....

uil nsf fileread tex class dataurl asd who accept 1.html中含有form表單 (1)html <form id="picLoad" class="lt" style="width: 230px;" enctype=

js的form提交url傳參數(包含+等特殊字符)的解決方法

字符 www. mit function form表單提交 sub win tno wiki 方法一:(偽裝form表單提交) linkredwin = function(A,B,C,D,E,F,G){ var formredwin = document.cr

form亂碼的解決方法

表單Tomcat首先 get,和 post 的區別: 1> get 請求的請求參數附在地址欄的url之後,post請求是通過http post 機制將表單各個字段及其內容放在Html header 裏面發送到所請求的action中2>get 請求的數據量小,要小於2kb,3>因為get 請求

JQuery擴展方法實現Form與Json互相轉換

val adjust new 映射 checked josn fin pop undefined JQuery筆記 記兩段代碼,使用JQuery實現從表單獲取json與後端交互,以及把後端返回的json映射到表單相應的字段上。 把表單轉換出json對象 //把表單

自定義jquery的方法,將Form中的內容轉換成json

// 自定義jquery的方法,將Form表單中的內容轉換成json $.fn.serializeJson=function(){ var serializeObj={}; var array=this

python中前後端通訊方法Ajax和ORM對映(form提交)

後端從資料庫獲取資料給到前端: 第一種方式: admin.py檔案程式碼: @admin.route('/showList') def show(): # 獲取資料庫所有文章資料,得到一個個物件 res=Article.query.all() dicts=[]

Layui 在使用Layui框架中使用form中的標籤但是沒有css效果的解決方法

這是原來的程式碼 <label class="layui-form-label">搜尋選擇框</label> <div class="layui-input-inline"> <select name="module

Form傳遞多個值傳遞List陣列物件的解決方法之一

一開始想的是用   $("#inputForm").serializeArray() 序列化生成物件 後端   @RequestBody List<PositionType> positionTypeList  獲取到資

Servlet 獲取前端Form資料,並實現請求重定向、請求轉發

1.前端介面 編寫一個最簡單的登入介面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title&g

spring boot 自定義引數解析器實現form型別請求或位址列請求引數下劃線轉駝峰屬性

一、定義引數解析註解 @Target(value = ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface ParameterModel { } 二、定義抽象類AbstractCustomiz

直接獲取form所有資料傳送到後臺

form表單程式碼  <form action="${pageContext.request.contextPath}/user/updateUser" method="post" id="updateForm"> <p>使用者名稱:<in