首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

CGI 中 POST 方法詳解:突破 GET 環境變數長度限制

     編輯:Java 相關知識

GET 的瓶頸與 POST 的解法

GET 將資料放入環境變數 QUERY_STRING,長度受限(約 200 字元)。POST 將編碼後的查詢字串透過標準輸入 stdin 傳給 CGI 程式,長度由環境變數 CONTENT_LENGTH 指定,無實際上限。

C++ 版 POST CGI 範例

char* clen = getenv("CONTENT_LENGTH");
int len = atoi(clen);
char* query_str = new char[len + 1];
cin.read(query_str, len);
query_str[len] = '\0';
CGI_vector query(query_str); // 同樣解析名稱/值對

關鍵差別:用 cin.read() 讀取指定長度的標準輸入,而非 getenv("QUERY_STRING")。解析後的 CGI_vector 用法與 GET 完全相同。

HTML 表單與 Applet 送 POST

表單指定 method="POST"。Applet 送 POST 需額外建立 URLConnection,啟用 setDoOutput(true),取得 OutputStream 寫入查詢字串,再從 InputStream 讀取回應。注意:showDocument() 會阻擋 POST 資料傳送,必須在元件(如 TextArea) 顯示回應。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved