Ste*_*ken 2748
带字段:
curl --data "param1=value1¶m2=value2" https://example.com/resource.cgi
Run Code Online (Sandbox Code Playgroud)
单独指定字段:
curl --data "param1=value1" --data "param2=value2" https://example.com/resource.cgi
Run Code Online (Sandbox Code Playgroud)
多部分:
curl --form "fileupload=@my-file.txt" https://example.com/resource.cgi
Run Code Online (Sandbox Code Playgroud)
带有字段和文件名的多部分:
curl --form "fileupload=@my-file.txt;filename=desired-filename.txt" --form param1=value1 --form param2=value2 https://example.com/resource.cgi
Run Code Online (Sandbox Code Playgroud)
没有数据:
curl --data '' https://example.com/resource.cgi
curl -X POST https://example.com/resource.cgi
curl --request POST https://example.com/resource.cgi
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅cURL 手册。有关模拟 Web 浏览器的cURL 教程很有帮助。
使用 libcurl,curl_formadd()
在以通常方式提交表单之前使用该函数构建表单。有关更多信息,请参阅libcurl 文档。
对于大文件,考虑添加参数以显示上传进度:
curl --tr-encoding -X POST -v -# -o output -T filename.dat \
http://example.com/resource.cgi
Run Code Online (Sandbox Code Playgroud)
将-o output
是必需的,否则没有进度条就会出现。
sou*_*ter 546
对于包含 XML 的 RESTful HTTP POST:
curl -X POST -d @filename.txt http://example.com/path/to/resource --header "Content-Type:text/xml"
或者对于 JSON,使用这个:
curl -X POST -d @filename.txt http://example.com/path/to/resource --header "Content-Type:application/json"
这将读取命名文件的内容filename.txt
并将其作为发布请求发送。
Cir*_*郝海东 151
来自标准输入的数据 -d @-
例子:
echo '{"text": "Hello **world**!"}' | curl -d @- https://api.github.com/markdown
Run Code Online (Sandbox Code Playgroud)
输出:
<p>Hello <strong>world</strong>!</p>
Run Code Online (Sandbox Code Playgroud)
Pat*_*ins 73
curl -d "name=Rafael%20Sagula&phone=3320780" http://www.where.com/guest.cgi
Run Code Online (Sandbox Code Playgroud)
是在Curl Example Manual 中找到的示例。
如果上述方法不起作用,请使用 %26 作为&符号:
curl -d "name=Rafael%20Sagula%26phone=3320780" http://www.where.com/guest.cgi
Run Code Online (Sandbox Code Playgroud)
Mar*_*cny 65
如果要登录到站点,请执行以下操作:
curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/
Run Code Online (Sandbox Code Playgroud)
第一个请求将会话 cookie(成功登录时提供)保存在“headers”文件中。从现在开始,您可以使用该 cookie 对您在使用浏览器登录后通常访问的网站的任何部分进行身份验证。
ccp*_*zza 41
如果你懒惰,你可以让 google-chrome 或 firefox 为你做所有的工作。
Chrome 将以 cURL 语法复制所有请求数据。
Chrome 使用--data 'param1=hello¶m2=world'
它,您可以通过使用单个-d
或-F
每个参数来提高可读性,具体取决于您要发送的 POST 请求类型,可以是application/x-www-form-urlencoded
或multipart/form-data
相应的。
这将被发布为application/x-www-form-urlencoded
(用于大多数不包含文件上传的表单):
curl http://httpbin.org/post \
-H "User-Agent: Mozilla/2.2" \
-d param1=hello \
-d name=dinsdale
Run Code Online (Sandbox Code Playgroud)
对于multipart/form-data
POST 使用-F
(通常用于包含文件上传的表单,或者字段顺序很重要,或者需要多个具有相同名称的字段):
curl http://httpbin.org/post \
-H "User-Agent: Mozilla/2.2" \
-F param1=hello \
-F name=dinsdale \
-F name=piranha
Run Code Online (Sandbox Code Playgroud)
该User-Agent
头通常不需要,但我万一扔了。如果您需要自定义代理,那么您可以通过创建~/.curlrc
包含例如User-Agent: "Mozilla/2.2"
Vin*_*vic 37
curl -v --data-ascii var=value http://example.com
Run Code Online (Sandbox Code Playgroud)
还有更多选项,请curl --help
查看更多信息。
归档时间: |
|
查看次数: |
2942118 次 |
最近记录: |