2010-02-26 150 views
0

我想編碼一個URL,以便它發送POST請求到服務器。那可能嗎?如果是這樣,怎麼樣?我搜索了四處,大多發現將參數附加到url只會將它們作爲GET請求的參數發送。有沒有辦法做到POST請求?基本上,我試圖實現一個CSRF(不適用於惡意但測試目的),我希望能夠通過編碼我的URL發送POST請求到服務器。編碼POST請求

+0

究竟你 「編碼」 是什麼意思?加密? – 2010-02-26 23:13:16

+0

這個網址是要在瀏覽器中使用嗎?是否有代碼將使用URL來聯繫服務器? – 2010-02-26 23:17:56

回答

2

GETPOSTHTTP methods。在GET中,請求參數作爲請求URL中的查詢字符串。在POST中,請求參數作爲請求主體中的查詢字符串。

因此,您需要指示您使用的任何工具通過請求主體傳遞參數,而不是請求URL以及HTTP方法POST而不是(通常爲默認值)GET

無論哪種方式,參數只需要URL編碼。 POST或GET沒有區別,除非您將內容編碼設置爲multipart/form-data而不是(通常爲默認值)application/x-www-form-urlencoded

如果您提供了關於您正在使用的編程語言和/或庫和/或框架的更多詳細信息,那麼我們可以給出更詳細的答案,以便如何調用HTTP POST請求。

1

編號 該方法不是Url的一部分。您必須以使用post方法的方式提出請求。 你沒有提到任何細節,但如果它在瀏覽器中的文件裏面的,你可以使用一個表格:

<FORM action="someUrl.htm" method="post"> 

你可以做一個鏈接,通過JavaScript發送形式:

<form action="http://www.example.com/?param=value" method="post" id="someForm"> 
    <a href="#" onclick="document.getElementById('someForm').submit();">link</a> 
</form> 

或JavaScript的XmlHttpRequest的:

var xhr = new XMLHttpRequest(); 
xhr.open("POST", url); 
... 
+0

對不起,如果我不清楚,好的,所以我想創建一個鏈接,當點擊時,發送POST請求到Web服務器。此POST請求的行爲與該服務器上的網頁中的表單發送的POST請求的行爲相同。我想要這個瀏覽器的URL。根據我的理解,不涉及任何代碼。那有意義嗎? – urfriend 2010-02-26 23:38:03

+0

你不能這樣做的鏈接。如果你想做一個POST,使用表單提交按鈕。您始終可以使用CSS對其進行設置,使其看起來像鏈接。 – bobince 2010-02-26 23:54:42

+0

添加了如何通過javascript觸發表單提交的示例。它確實涉及代碼,但它在onclick事件處理程序中都存在。 – 2010-02-27 01:54:11