编码POST请求

时间:2010-02-26 23:11:33

标签: http

我想对URL进行编码,以便向服务器发送POST请求。那可能吗?如果是的话,怎么样?我已经搜索过并且大多数发现将参数附加到url只会将它们作为GET请求的参数发送。有没有办法为POST请求? 基本上,我正在尝试实现CSRF(不是出于恶意但是测试目的),我希望能够通过编码我的URL向服务器发送POST请求。

2 个答案:

答案 0 :(得分:2)

GETPOSTHTTP methods。在GET中,请求参数被视为请求URL中的查询字符串。在POST中,请求参数被视为请求正文中的查询字符串。

因此,您需要指示您使用的任何工具通过请求正文而不是请求URL以及POST的HTTP方法而不是(通常是默认值)GET传递参数

无论哪种方式,参数只需要进行URL编码。 POST或GET没有区别,除非您将内容编码设置为multipart/form-data而不是(通常是默认值)application/x-www-form-urlencoded

如果您提供有关您正在使用的编程语言和/或库和/或框架的更多详细信息,那么我们可以提供更详细的答案,了解如何调用HTTP POST请求。

答案 1 :(得分: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);
...