傳送post請求(表單的方式)
1 httpClient封裝後使用,get和post方法
Java程式碼- package util;
- import java.io.BufferedReader;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import net.sf.json.JSONObject;
-
import
- import org.apache.http.HttpResponse;
- import org.apache.http.NameValuePair;
- import org.apache.http.client.HttpClient;
- import org.apache.http.client.entity.UrlEncodedFormEntity;
- import org.apache.http.client.methods.HttpPost;
-
import org.apache.http.entity.StringEntity;
- import org.apache.http.impl.client.DefaultHttpClient;
- import org.apache.http.message.BasicNameValuePair;
- import org.apache.http.protocol.HTTP;
- /**
- * @Title:TestHttpClient
- * @Author Tony
- * @Date: 2014年6月21日 下午3:29:37
- * @Description: httpClient使用,1 傳送post請求 2 傳送get請求
- *
- */
-
public
- /**
- * @Title: methodPost
- * @Description: httpclient方法中post提交資料的使用
- * @param @return
- * @param @throws Exception
- * @return String
- * @throws
- */
- public static String methodPost() throws Exception {
- DefaultHttpClient httpclient = new DefaultHttpClient();
- // // 代理的設定
- // HttpHost proxy = new HttpHost("10.60.8.20", 8080);
- // httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,
- // proxy);
- // 目標地址
- HttpPost httppost = new HttpPost(
- "http://localhost:8011/testServlet");
- System.out.println("請求: " + httppost.getRequestLine());
- // post 引數 傳遞
- List<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
- nvps.add(new BasicNameValuePair("content", "11111111")); // 引數
- nvps.add(new BasicNameValuePair("path", "D:/file")); // 引數
- nvps.add(new BasicNameValuePair("name", "8")); // 引數
- nvps.add(new BasicNameValuePair("age", "9")); // 引數
- nvps.add(new BasicNameValuePair("username", "wzt")); // 引數
- httppost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); // 設定引數給Post
- // 執行
- HttpResponse response = httpclient.execute(httppost);
- HttpEntity entity = response.getEntity();
- System.out.println(response.getStatusLine());
- if (entity != null) {
- System.out.println("Response content length: "
- + entity.getContentLength());
- }
- // 顯示結果
- BufferedReader reader = new BufferedReader(new InputStreamReader(
- entity.getContent(), "UTF-8"));
- String line = null;
- while ((line = reader.readLine()) != null) {
- System.out.println(line);
- }
- if (entity != null) {
- entity.consumeContent();
- }
- return null;
- }
- /**
- * @Title: methodGet
- * @Description: 以get方法提交數的使用
- * @param @return
- * @param @throws Exception
- * @return String
- * @throws
- */
- public static String methodGet() throws Exception {
- DefaultHttpClient httpclient = new DefaultHttpClient();
- // // 代理的設定
- // HttpHost proxy = new HttpHost("10.60.8.20", 8080);
- // httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
- // 目標地址
- HttpPost httpGet = new HttpPost("http://localhost:8011/testServlet");
- // 構造最簡單的字串資料
- StringEntity reqEntity = new StringEntity("name=test&password=test");
- // 設定型別
- reqEntity.setContentType("application/x-www-form-urlencoded");
- // 設定請求的資料
- httpGet.setEntity(reqEntity);
- // 執行
- HttpResponse response = httpclient.execute(httpGet);
- HttpEntity entity = response.getEntity();
- System.out.println(response.getStatusLine());
- if (entity != null) {
- System.out.println("Response content length: " + entity.getContentLength()); //得到返回資料的長度
- }
- // 顯示結果
- BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
- String line = null;
- while ((line = reader.readLine()) != null) {
- System.out.println(line);
- }
- if (entity != null) {
- entity.consumeContent();
- }
- return null;
- }
- /**
- * 模擬url訪問 從特定的url中獲取json
- *
- * @param urlStr
- * @param params
- * @return json object ,or null if failed
- * 引數經過封裝後傳過來 ,提交為 post請求
- */
- private static JSONObject getJsonFromUrl(String urlStr,
- Map<String, String> params) {
- HttpClient httpClient = new DefaultHttpClient();
- HttpPost httpPost = new HttpPost(urlStr);
- JSONObject json = null;
- try {
- if (params != null) {
- Iterator<String> keys = params.keySet().iterator();
- List<NameValuePair> nvps = new ArrayList<NameValuePair>();
- while (keys.hasNext()) {
- String key = keys.next();
- nvps.add(new BasicNameValuePair(key, params.get(key)));
- }
- httpPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
- }
- HttpResponse response = httpClient.execute(httpPost);
- HttpEntity entity = response.getEntity();
- InputStream is = entity.getContent();
- byte[] bytes = new byte[256];
- StringBuffer sb = new StringBuffer();
- while (is.read(bytes) > 0) {
- sb.append(new String(bytes));
- bytes = new byte[256];
- }
- json = JSONObject.fromObject(sb.toString());
- } catch (Exception e) {
- e.printStackTrace();
- }
- return json;
- }
- /**
- * @Title: main
- * @Description: 測試類
- * @param @param args
- * @return void
- * @throws
- */
- public static void main(String[] args) {
- try {
- TestHttpClient.methodGet();
- // TestHttpClient.methodPost();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
2 後臺接受資料的servlet
Java程式碼- public class TestServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- /**
- * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
- */
- protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- request.setCharacterEncoding( "utf-8");
- response.setContentType("text/html;charset=utf-8");
- response.setCharacterEncoding("utf-8");
- String name = request.getParameter("name");
- System.out.println("name 變數資料: "+name);
- }
- }
相關推薦
傳送post請求(表單的方式)
1 httpClient封裝後使用,get和post方法 Java程式碼 package util; import java.io.BufferedReader; import java.io.InputStream; import java.io
django-Ajax傳送POST請求(csrf跨站請求的三種方式),檔案的上傳
<h3>Ajax上傳檔案</h3> <p><input type="text" name="username" id="username" placeholder="username"></p> <p><input type="
angularJS 條件查詢 品優購條件查詢品牌(條件查詢和列表展示公用方法解決思路 及 post請求混合引數提交方式)
Brand.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"
vue使用axios傳送post請求(data為json格式)
安裝axios cnpm install axios 在main.js中新增axios,此處注意axios外掛不同於其他,引用不能使用Vue.use();而是使用Vue.prototype.$axios = axios; import axios from '
HttpClient傳送Post請求(一)
pom <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactI
使用ajax傳送post請求(切換圖片)
html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
php之表單-2(表單驗證)
eth left cit span dem 讓我 但是 cape ren PHP 表單驗證 本章節我們將介紹如何使用PHP驗證客戶端提交的表單數據。 PHP 表單驗證 在處理PHP表單時我們需要考慮安全性。 本章節我們將展示PHP表單數據安全處理
註冊全局指令(表單驗證)
route reat 所有 指令對象 word 父節點 自定義 重新 efault 1). 導出驗證指令對象 在 src/directives 下新建 validator.js 文件,復制貼入以下代碼: src/directives/validator.js 1 fu
JavaWeb筆記-23-AJAX非同步互動,ajax傳送非同步請求(四步操作)
1)ajax: asynchronous javascript and xml:非同步的js和xml 作用:能使用js非同步訪問伺服器. (原本只是響應伺服器,不能傳送請求) 應用場景: 1)百度的搜尋框 2)使用者註冊時(校驗使用者名稱是否被註冊過)
前端學習之路---php(表單處理)
表單的使用 常見表單元素的使用 案例 表單的概念在生活中很常見,就像是問卷調查表一樣,別人先把問卷發給你,你照著問卷的要求填寫,完事過後再 將填完的問卷發給別人,從而達到一個將別人需要的資訊傳遞給別人的一種方式。 傳統的網頁大多數的作用都是展示
寒假無聊 開啟小專案 http伺服器之二傳送http請求(http客戶機)
目錄 說明 實驗環境 建立tcp 連線 程式碼 說明 通過上一篇部落格, 我們基本瞭解了http伺服器的工作流程,首先客戶機和伺服器建立TCP連線 ,連線建立以後,客戶機發出http請求,伺服器做出響應。所以
MQ傳送普通訊息(三種方式)
MQ 傳送普通訊息有三種實現方式:可靠同步傳送、可靠非同步傳送、單向(Oneway)傳送。本文介紹了每種實現的原理、使用場景以及三種實現的異同,同時提供了程式碼示例以供參考。 可靠
Spring處理跨域請求(含有SpringBoot方式)
一次正常的請求 最近別人需要呼叫我們系統的某一個功能,對方希望提供一個api讓其能夠更新資料。由於該同學是客戶端開發,於是有了類似以下程式碼。 @RequestMapping(method = RequestMethod.POST, value = "/update.
java post請求的表單提交和json提交簡單小結
在java實現http請求時有分為多種引數的傳遞方式,以下給出通過form表單提交和json提交的引數傳遞方式: 1 public String POST_FORM(String url, Map<String,String> map,String encoding) throws Pa
Java使用HttpsURLConnection進行Get和Post請求(繞過證書驗證)
public String gethttpsconnbypost(String url,Map headMap){ StringBuilder result = new StringBuilder(); try { //建立地址物件 URL u=new URL(url); //獲取
JAVA 爬蟲之httpclient post請求提交表單獲取Ajax資料
public static String httpPostWithJSON(String url) throws Exception { HttpPost httpPost = n
Springboot之Thymeleaf 表單標籤(表單驗證)|第三章-yellowcong
上一節剛剛講解了,如何通過Thymeleaf 來使用表單提交,現在我們這一節,講解如何使用表單驗證。Thymeleaf 表單驗證的步驟:1、新增hibernate-validator的依賴包。2、建立表單類,裡面添加註解說明欄位的資訊,3、建立介面控制器,
JavaScript之表單基礎知識(表單指令碼)
表單的基礎知識 在HTML中,表單用<form>元素來表示,在JavaScript中,表單用HTMLFormElement來表示,HTMLFormElement繼承了HTMLElement。 獲取表單的引用 取得表單的引用有多種方式,常見的就是通過ID來獲取元
JavaScript之文字框指令碼(表單指令碼)
文字框指令碼 在HTML中,文字框的表現形式有兩種:一種是使用<input>元素且它的type屬性值為"text"來表示單行文字框。二種是使用<textarea>和</textarea>表示多行文字框。 要表示單選文字框,可以使用&l
AJAX:如何編寫一個關於AJAX的Hello World?(ajax傳送非同步請求(四步操作))
用到的一個Servlet類: package cn.edu.web.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annot