电脑工场
白蓝主题五 · 清爽阅读
首页  > 网络基础

POST请求脚本怎么写?手把手教你用Python、curl和JavaScript发数据

你在调试一个登录接口,或者想自动提交表单、上传文件、调用后端API——这时候绕不开的就是 POST 请求。它不像 GET 那样把参数塞在 URL 里,而是把数据“装进信封”发给服务器。那这个“信封”怎么写?下面几种常见方式,照着抄就能跑通。

Python 脚本:requests 最省心

装好 requests 库(pip install requests),三行代码搞定:

import requests
data = {"username": "admin", "password": "123456"}
res = requests.post("https://api.example.com/login", data=data)
print(res.status_code, res.json())

如果要传 JSON 数据(比如 RESTful 接口常用),记得加 json= 参数,requests 会自动设好 Content-Type:

import requests
payload = {"name": "张三", "age": 28}
res = requests.post("https://api.example.com/users", json=payload)

命令行:curl 一条命令就发

开发时临时测试,不用写脚本,直接敲 curl:

curl -X POST https://api.example.com/login \
-d "username=admin&password=123456"

传 JSON 的话加 -H 指定头,用 -d 塞原始字符串:

curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name":"李四","email":"li@domain.com"}'

前端 JavaScript:fetch 现代写法

网页里想提交表单或调用接口,fetch 是首选:

fetch("/api/submit", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ title: "新笔记", content: "今天学了POST" })
).then(r => r.json()).then(console.log);

如果是上传文件,用 FormData 更方便:

const form = new FormData();
form.append("file", document.getElementById("upload").files[0]);
form.append("desc", "截图说明");

fetch("/api/upload", { method: "POST", body: form });

小提醒:别踩这些坑

• 提交表单时用 data=(默认 x-www-form-urlencoded),传结构化数据优先用 json=
• curl 发 JSON 必须手动加 -H "Content-Type: application/json",否则后端可能收不到;
• JS fetch 发 JSON 一定要 JSON.stringify(),且 header 写对;
• 后端返回 400 或 500,先检查字段名拼错没、必填项漏没、token 有没有带。

写 POST 脚本不玄乎,关键就是三点:URL 对、方法设成 POST、数据放对位置。多试两次,比看十篇教程都管用。