導航:首頁 > IDC知識 > httppost伺服器

httppost伺服器

發布時間:2021-03-04 21:34:54

1、httpclient post提交數據,怎麼知道,伺服器需要哪些數據呀?

有很多方式啊,如果是你寫的,就是你自己控制啊,
如果不是你寫的,就調試一下跟代碼啊

2、如何給http伺服器發送post請求

1、HTTP請求概述

在前面有一篇文章對HTTP協議有詳細的描述,這里就不再過多的做說明,只是簡單的作為這篇文章的引子。

HTTP協議又被稱為超文本傳輸協議,它的的設計目的是保證客戶機與伺服器之間的通信。HTTP 的工作方式是客戶端與伺服器之間的請求-應答協議。在客戶端和伺服器之間進行請求-響應時,有兩個最基本的請求方式:GET 和 POST。

其中,GET請求表示從指定的資源請求數據,POST請求表示向指定的資源提交要被處理的數據。

2、HTTP請求格式

在HTTP請求中,首先是請求行,注意這里的請求行一定要放在最前面;其次,是請求頭,英文表示為header;然後會空一行,緊接著就可以是請求的具體內容了,一般稱之為請求體,request-body。給出一個圖示如下:

3、GET請求與POST請求對比

GET請求與POST請求有一些異同點,主要有以下幾點問題:

(1)、GET請求和POST請求都是客戶端與伺服器之間交互,請求--應答模式的協議

(2)、GET請求是通過URL直接請求數據,數據信息可以在URL中直接看到,比如瀏覽器訪問;而POST請求是放在請求頭中的,我們是無法直接看到的;

(3)、GET提交有數據大小的限制,一般是不超過1024個位元組,而這種說法也不完全准確,HTTP協議並沒有設定URL位元組長度的上限,而是瀏
覽器做了些處理,所以長度依據瀏覽器的不同有所不同;POST請求在HTTP協議中也沒有做說明,一般來說是沒有設置限制的,但是實際上瀏覽器也有默認
值。總體來說,少量的數據使用GET,大量的數據使用POST。

(4)、GET請求因為數據參數是暴露在URL中的,所以安全性比較低,比如密碼是不能暴露的,就不能使用GET請求;POST請求中,請求參數信息是放在請求頭的,所以安全性較高,可以使用。在實際中,涉及到登錄操作的時候,盡量使用HTTPS請求,安全性更好。

下面給出一副圖示,說明一下HTTP中GET與POST請求的差異:

4、使用步驟:

在Android中使用HTTP請求,主要步驟如下:

(1)、實例化一個HttpGet(或HttpPost)對象,將請求的URL地址通過構造方法傳給HttpGet(或HttpPost)對象;
(2)、使用DefaultHttpClient類的execute方法發送GET或POST 請求,並返回HttpResponse對象;
(3)、通過HttpResponse介面的getEntity方法返回響應信息。

5、實例代碼

給出一個在實際應用中的一個POST請求的代碼片段:

[java] view plain copy print?
params = new LinkedList();
params.add(new BasicNameValuePair("param1", "Post方法"));
params.add(new BasicNameValuePair("param2", "第二個參數"));

try {
HttpPost post = new HttpPost(baseUrl);
post.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //將參數填入POST Entity中

HttpResponse response = httpClient.execute(post); //執行POST方法
resCode = response.getStatusLine().getStatusCode()); //獲取響應碼
result = EntityUtils.toString(response.getEntity(), "utf-8")); //獲取響應內容

} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

6、HTTP請求狀態碼意義

HTTP請求中,主要有這樣幾個類型:1XX:表示信息提示,2XX:表示成功,3XX:表示重定向,4XX:表示客戶端請求錯誤,5XX:表示伺服器錯誤。常見的幾個HTTP請求狀態碼意義如下:

200 OK: 找到了該資源,並且一切正常。
304 NOT MODIFIED: 該資源在上次請求之後沒有任何修改。這通常用於瀏覽器的緩存機制。
401 UNAUTHORIZED: 客戶端無權訪問該資源。這通常會使得瀏覽器要求用戶輸入用戶名和密碼,以登錄到伺服器。
403 FORBIDDEN: 客戶端未能獲得授權。這通常是在401之後輸入了不正確的用戶名或密碼。
404 NOT FOUND: 在指定的位置不存在所申請的資源。
505 NOT SUPPORTED:伺服器不支持請求中所指明的HTTP版本

3、怎麼用C實現Http POST功能向Http伺服器上傳文件

super viewDidLoad];
webview.backgroundColor = [UIColor clearColor];
webview.scalesPageToFit =YES;
webview.delegate =self;
NSURL *url =[[NSURL alloc] initWithString:@"http://www.google.com.hk/m?gl=CN&hl=zh_CN&source=ihp"];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[webview loadRequest:request];
}

4、本地通過 http post 數據包到伺服器

,只要在瀏覽器的地址欄里輸入網站的地址就可以了,例如,但是在瀏覽器的地址欄裡面出現的卻是: ,你知道為什麼會多出一個「http」嗎?
一、HTTP協議是什麼
我們在瀏覽器的地址欄里輸入的網站地址叫做URL (Uniform Resource Locator,統一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協議(HTTP),將Web伺服器上站點的網頁代碼提取出來,並翻譯成漂亮的網頁。因此,在我們認識HTTP之前,有必要先弄清楚URL的組成,例如:。它的含義如下:
1. :代表超文本傳輸協議,通知microsoft.com伺服器顯示Web頁,通常不用輸入;
2. www:代表一個Web(萬維網)伺服器;
3. Microsoft.com/:這是裝有網頁的伺服器的域名,或站點伺服器的名稱;
4. China/:為該伺服器上的子目錄,就好像我們的文件夾;
5. Index.htm:index.htm是文件夾中的一個HTML文件(網頁)。
我們知道,Internet的基本協議是TCP/IP協議,然而在TCP/IP模型最上層的是應用層(Application layer),它包含所有高層的協議。高層協議有:文件傳輸協議FTP、電子郵件傳輸協議SMTP、域名系統服務DNS、網路新聞傳輸協議NNTP和HTTP協議等。
HTTP協議(Hypertext Transfer Protocol,超文本傳輸協議)是用於從WWW伺服器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。這就是你為什麼在瀏覽器中看到的網頁地址都是以開頭的原因。
自WWW誕生以來,一個多姿多彩的資訊和虛擬的世界便出現在我們眼前,可是我們怎麼能夠更加容易地找到我們需要的資訊呢?當決定使用超文本作為WWW文檔的標准格式後,於是在1990年,科學家們立即制定了能夠快速查找這些超文本文檔的協議,即HTTP協議。經過幾年的使用與發展,得到不斷的完善和擴展,目前在WWW中使用的是HTTP/1.0的第六版。
HTTP是怎樣工作的

既然我們明白了URL的構成,那麼HTTP是怎麼工作呢?我們接下來就要討論這個問題。
由於HTTP協議是基於請求/響應範式的(相當於客戶機/伺服器)。一個客戶機與伺服器建立連接後,發送一個請求給伺服器,請求方式的格式為:統一資源標識符(URL)、協議版本號,後邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。伺服器接到請求後,給予相應的響應信息,其格式為一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,後邊是MIME信息包括伺服器信息、實體信息和可能的內容。
許多HTTP通訊是由一個用戶代理初始化的並且包括一個申請在源伺服器上資源的請求。最簡單的情況可能是在用戶代理和伺服器之間通過一個單獨的連接來完成。在Internet上,HTTP通訊通常發生在TCP/IP連接之上。預設埠是TCP 80,但其它的埠也是可用的。但這並不預示著HTTP協議在Internet或其它網路的其它協議之上才能完成。HTTP只預示著一個可靠的傳輸。
這個過程就好像我們打電話訂貨一樣,我們可以打電話給商家,告訴他我們需要什麼規格的商品,然後商家再告訴我們什麼商品有貨,什麼商品缺貨。這些,我們是通過電話線用電話聯系(HTTP是通過TCP/IP),當然我們也可以通過傳真,只要商家那邊也有傳真。
以上簡要介紹了HTTP協議的宏觀運作方式,下面介紹一下HTTP協議的內部操作過程。
在WWW中,「客戶」與「伺服器」是一個相對的概念,只存在於一個特定的連接期間,即在某個連接中的客戶在另一個連接中可能作為伺服器。基於HTTP協議的客戶/伺服器模式的信息交換過程,它分四個過程:建立連接、發送請求信息、發送響應信息、關閉連接。這就好像上面的例子,我們電話訂貨的全過程。
其實簡單說就是任何伺服器除了包括HTML文件以外,還有一個HTTP駐留程序,用於響應用戶請求。你的瀏覽器是HTTP客戶,向伺服器發送請求,當瀏覽器中輸入了一個開始文件或點擊了一個超級鏈接時,瀏覽器就向伺服器發送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程序接收到請求,在進行必要的操作後回送所要求的文件。在這一過程中,在網路上發送和接收的數據已經被分成一個或多個數據包(packet),每個數據包包括:要傳送的數據;控制信息,即告訴網路怎樣處理數據包。TCP/IP決定了每個數據包的格式。如果事先不告訴你,你可能不會知道信息被分成用於傳輸和再重新組合起來的許多小塊。
也就是說商家除了擁有商品之外,它也有一個職員在接聽你的電話,當你打電話的時候,你的聲音轉換成各種復雜的數據,通過電話線傳輸到對方的電話機,對方的電話機又把各種復雜的數據轉換成聲音,使得對方商家的職員能夠明白你的請求。這個過程你不需要明白聲音是怎麼轉換成復雜的數據的。

SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。SMTP協議屬於TCP/IP協議族,它幫助每台計算機在發送或中轉信件時找到下一個目的地。通過SMTP協議所指定的伺服器,我們就可以把E-mail寄到收信人的伺服器上了,整個過程只要幾分鍾。SMTP伺服器則是遵循SMTP協議的發送郵件伺服器,用來發送或中轉你發出的電子郵件。

POP3(Post Office Protocol 3)即郵局協議的第3個版本,它規定怎樣將個人計算機連接到Internet的郵件伺服器和下載電子郵件的電子協議。它是網際網路電子郵件的第一個離線協議標准,POP3允許用戶從伺服器上把郵件存儲到本地主機(即自己的計算機)上,同時刪除保存在郵件伺服器上的郵件,而POP3伺服器則是遵循POP3協議的接收郵件伺服器,用來接收電子郵件的。

5、http post方式發送 伺服器怎麼解析

我最近也寫過類似的,不過沒有寫像你說的伺服器接收的這部分,你是想測試嗎內?
如果是僅僅是字元容串,沒必要搞這么復雜,直接用StringEntity或者HttpEntity就OK了。
MultipartEntity一般是發送Multipart/form-data類型數據才用的,因為這個接收處理時比StringEntity要麻煩,具體的看下httpclient4.3、httpcore4.3、httpmime相關文檔,網上也有相關內容,我存在公司電腦上。

6、HTTP協議中請求方法Get和Post的區別,從HTTP請求到服務端響應過程

1、HTTP請求概述

在前面有一篇文章對HTTP協議有詳細的描述,這里就不再過多的做說明,只是簡單的作為這篇文章的引子。

HTTP協議又被稱為超文本傳輸協議,它的的設計目的是保證客戶機與伺服器之間的通信。HTTP 的工作方式是客戶端與伺服器之間的請求-應答協議。在客戶端和伺服器之間進行請求-響應時,有兩個最基本的請求方式:GET 和 POST。

其中,GET請求表示從指定的資源請求數據,POST請求表示向指定的資源提交要被處理的數據。

2、HTTP請求格式

在HTTP請求中,首先是請求行,注意這里的請求行一定要放在最前面;其次,是請求頭,英文表示為header;然後會空一行,緊接著就可以是請求的具體內容了,一般稱之為請求體,request-body。給出一個圖示如下:

3、GET請求與POST請求對比

GET請求與POST請求有一些異同點,主要有以下幾點問題:

(1)、GET請求和POST請求都是客戶端與伺服器之間交互,請求--應答模式的協議

(2)、GET請求是通過URL直接請求數據,數據信息可以在URL中直接看到,比如瀏覽器訪問;而POST請求是放在請求頭中的,我們是無法直接看到的;

(3)、GET提交有數據大小的限制,一般是不超過1024個位元組,而這種說法也不完全准確,HTTP協議並沒有設定URL位元組長度的上限,而是瀏
覽器做了些處理,所以長度依據瀏覽器的不同有所不同;POST請求在HTTP協議中也沒有做說明,一般來說是沒有設置限制的,但是實際上瀏覽器也有默認
值。總體來說,少量的數據使用GET,大量的數據使用POST。

(4)、GET請求因為數據參數是暴露在URL中的,所以安全性比較低,比如密碼是不能暴露的,就不能使用GET請求;POST請求中,請求參數信息是放在請求頭的,所以安全性較高,可以使用。在實際中,涉及到登錄操作的時候,盡量使用HTTPS請求,安全性更好。

下面給出一副圖示,說明一下HTTP中GET與POST請求的差異:

4、使用步驟:

在Android中使用HTTP請求,主要步驟如下:

(1)、實例化一個HttpGet(或HttpPost)對象,將請求的URL地址通過構造方法傳給HttpGet(或HttpPost)對象;
(2)、使用DefaultHttpClient類的execute方法發送GET或POST 請求,並返回HttpResponse對象;
(3)、通過HttpResponse介面的getEntity方法返回響應信息。

5、實例代碼

給出一個在實際應用中的一個POST請求的代碼片段:

[java] view plain copy print?
params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "Post方法"));
params.add(new BasicNameValuePair("param2", "第二個參數"));

try {
HttpPost post = new HttpPost(baseUrl);
post.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //將參數填入POST Entity中

HttpResponse response = httpClient.execute(post); //執行POST方法
resCode = response.getStatusLine().getStatusCode()); //獲取響應碼
result = EntityUtils.toString(response.getEntity(), "utf-8")); //獲取響應內容

} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

6、HTTP請求狀態碼意義

HTTP請求中,主要有這樣幾個類型:1XX:表示信息提示,2XX:表示成功,3XX:表示重定向,4XX:表示客戶端請求錯誤,5XX:表示伺服器錯誤。常見的幾個HTTP請求狀態碼意義如下:

200 OK: 找到了該資源,並且一切正常。
304 NOT MODIFIED: 該資源在上次請求之後沒有任何修改。這通常用於瀏覽器的緩存機制。
401 UNAUTHORIZED: 客戶端無權訪問該資源。這通常會使得瀏覽器要求用戶輸入用戶名和密碼,以登錄到伺服器。
403 FORBIDDEN: 客戶端未能獲得授權。這通常是在401之後輸入了不正確的用戶名或密碼。
404 NOT FOUND: 在指定的位置不存在所申請的資源。
505 NOT SUPPORTED:伺服器不支持請求中所指明的HTTP版本

7、HttpPost發送字元串到伺服器,伺服器接收代碼並顯示怎麼寫Java代碼?

伺服器端接收客戶端的請求的話,需要在伺服器端的java文件實現HttpServlet這個介面,並且在web.xml里配置一個客戶端的請求攔截。

web.xml里的代碼里添加

<servlet>
   <servlet-name>testServlet</servlet-name><!--這個名字可以自己定-->
   <servlet-class>com.sun.testServlet</servlet-class><!--這里是你需要接收客戶端請求的那個類以及包名,也就是下面攔截到的url會轉發到的那個類-->
  </servlet>
  <servlet-mapping>
   <servlet-name>testServlet</servlet-name><!--和上面的name需要一樣-->
   <url-pattern>/*</url-pattern><!--什麼類型的客戶端請求會被攔截,/* 就是全攔截了-->
</servlet-mapping>

然後再伺服器端的類文件,要實現 HttpServlet這個介面。並把doGet()方法和doPost()方法重寫。

這兩種方法分別對應的是客戶端的get請求和post請求的處理,你的是post請求的話,就在doPost()方法內,寫你的業務。

然後再用下面兩句話,設置你要返回客戶端的數據。


//這是設置你要返回去的數據。value才是你的數據,key是標簽。

request.setAttribute("key", "value");  


//這是設置你要返回去test.jsp這張頁面。

request.getRequestDispatcher("test.jsp").forward(request, response);


不知道你是不是這個意思,你可以再去看看相關servlet方面的知識,


關於客戶端和伺服器端大概也就是有個servlet作為請求的攔截


然後經過相關判斷後,選擇性的傳到伺服器的相應類裡面。


再經過類裡面的業務,把得到需要的數據回傳到指定的頁面上。

8、c#寫的http伺服器接收post請求的問題

這個需要把你代碼發出來才知道什麼原因,不過一般可以使用事務,這樣完成一個存儲過程,版才會執行另外權一個,如果一個存儲過程中有類似自增操作,則執行兩個存儲過程就不會有相同結果了。
事務(Transaction)是訪問並可能更新資料庫中各種數據項的一個程序執行單元(unit)。用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。如果執行出錯,則數據會回滾恢復。

與httppost伺服器相關的知識