我是 PHP 新手。我有一个愚蠢的问题,需要你的解释。
当我使用 cURL 命令行发出 POST 请求时:
curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
请告诉我这个命令行的用途是什么。我只是想知道数据是否"username=admin&password=admin&submit=Login"
会附加到 url http://localhost/Login
。然后,我们有:
http://localhost/Login/username=admin&password=admin&submit=Login
这是对的吗?
答案1
HTTP POST 是一种将数据作为任意包发送的方法。这是在 http 协议中完成的,POST 数据是在“正文”中发送的,而不是在 URL 中发送的。
HTTP GET 有所不同,GET 会在 URL 中发送数据(受到限制)。
因此,在您的示例中,请求将看起来(以非常简单的方式)如下所示:
POST /Login HTTP/1.1
Host: localhost
Content-Length: 42
username=admin&password=admin&submit=Login
本例的最后一行是正文,其长度在 HTTP 标头“Content-Length”中指定。
以下是一个简单的参考,向您展示 POST 和 GET 的区别:
http://www.w3schools.com/tags/ref_httpmethods.asp