Curl命令为HTTP POST方法提供了若干种设置数据的选项,这里比较一下。
1. 首先说明如下给出的选项的相同点
-
模拟Web页面中提交表单,用于POST请求
-
默认Content-type为application/x-www-form-urlencoded
-
选项的value如果是
@
a_file_name,表示数据来自一个文件
-
选项的value如果是
-
,表示读取stdin作为提交的数据,即从标准输入设备即时提供数据值
2. 不同点
1) -d,--data key=value
数据为纯文本数据。
value如果是
@
a_file_name,表示数据来自一个文件,文件中的回车符和换行符将被转换
curl -X POST
-d
mykey1=myvalue1 http://myapi.url.com
curl -X POST
-d
mykey1=myvalue1
-d
mykey2=myvalue2 http://myapi.url.com
curl -X POST
-d
'mykey1=myvalue1&mykey2=myvalue2' http://myapi.url.com
curl -X POST
-H Content-Type:application/x-www-form-urlencoded -d
'mykey1=myvalue1&mykey2=myvalue2' http://myapi.url.com
curl -X POST
-H Content-Type:application/json -d
'{"mykey1": "myvalue1", "mykey1": "myvalue2"}' http://myapi.url.com
curl -X POST
-H Content-Type:application/x-www-form-urlencoded -d
mykey1=
@
myvalue1_from_file http://myapi.url.com
2) --data-ascii <key=value>
完全等价于-d
3) --data-binary key=value
HTTP POST请求中的数据为纯二进制数据
value如果是@file_name,则保留文件中的回车符和换行符,不做任何转换
4) --data-raw key=value
@也作为普通字符串,不会作为文件名给出文件名的标志。即value如果是@file_name,只表示值为“@file_name”的字符串。
其他等价于-d
5) --data-urlencode key=value
先对数据进行URL编码,再发送给HTTP服务器,即对表单中的字段值进行URL编码后再发送。
为了兼容CGI,格式为“name+分隔符+content”,如下所示:
-
name=content,将content进行URL编码,然后提交给HTTP服务器
-
=content,同上,只是未给出引用的name
-
content,同上,注意content中不能包含=和@符号
-
name@filename,从文件filename中读取数据(包括换行符),将读取的数据进行URL编码,然后提交给HTTP服务器
-
@filename,同上
其他等价于-d
3. 补充-F, --form选项
模拟发送表单,默认即POST,且默认Content-Type:multipart/form-data。
curl
-F
mykey1=myvalue1
-F
mykey2=myvalue2 http://myapi.url.com
curl
-F
myfile1=@file_name1
-F
myfile1=@file_name2 http://myapi.url.com
curl
-X POST -H Content-Type:multipart/form-data -F
myfile1=@file_name1
-F
myfile1=@file_name2 http://myapi.url.com
参考链接:
https://curl.haxx.se/docs/manpage.html
Curl命令为HTTP POST方法提供了若干种设置数据的选项,这里比较一下。1. 首先说明如下给出的选项的相同点模拟Web页面中提交表单,用于POST请求 默认Content-type为application/x-www-form-urlencoded 选项的value如果是@a_file_name,表示数据来自一个文件 选项的value如果是-,表示读取stdin作为提交的数据,...
可视化有关赛马数据的信息 :horse_racing: :horse_racing: :horse_racing:
网站: : :star:
每个页面可视化来自赛马数据库的20个属性:概述,变量,交互,关联,缺失值,样本 :1st_place_medal:
关于我 :red_heart: :
:backhand_index_pointing_right: 点击进入: :
eg:
curl
https://blog.ucwords.com
-o 保存响应到文件中
curl
-o response.tex https://blog.ucwords.com
POST
请求
curl
-x
POST
https://blog.ucwords.com
Form
Data
curl
-d 'name=123&age=23' -x
POST
https://blog.ucwords.
curl
是一个工具,用于传输来自服务器或者到服务器的数据。「向服务器传输数据或者获取来自服务器的数据」
可支持的协议有(DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、TELNET和TFTP)。
curl
提供了大量有用的技巧,比如代理支持、用户身份验证、FTP上传、HTTP
post
、SSL连接
目录一 介绍二 主要
选项
2.1 --
data
与--form2.2 URL三 其他
选项
3.1 常用
选项
3.2 进度条3.3 输出到文件3.4 其他
linux中一个传输数据的工具,支持多种协议,还支持代理、用户认证、SSL、cookies等等特性。
一些默认行为:
默认使用HTTP协议;
消息体输出到terminal;
消息体未输出到terminal时,显示进度条。
一些常用
选项
:
本文介绍它的主要
命令
行参数,作为日常的参考,方便查阅。内容主要翻译自《
curl
cookbook》。为了节约篇幅,下面的例子不包括运行时的输出,初学者可以先看我以前写的《
curl
初学者教程》。
不带有任何参数时,cur..
[session.requestSerializer willChangeValueForKey:@"timeoutInterval"];
session.requestSerializer.timeoutInterval = 10.f;
[session.requestSerializer didChangeValueForKey:@"timeoutInterval"];
[session
POST
:url p...
You need to convert your string to stream first.
You can simply do it with this piece of code.
$YourString = '
data
-id=2010-10-01_15-15-53';
$stream = fopen('php://memory','r+');
fwrite($stream, $Y
在 C 语言中,使用 form-
data
格式进行 HTTP 请求的方法如下:
首先,使用 `malloc` 动态分配内存,用来存储 HTTP 请求的内容。然后,使用 `sprintf` 函数把请求的内容写入内存中。最后,使用 `
curl
` 库发送 HTTP 请求即可。
示例代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <
curl
/
curl
.h>
int main(void) {
CURL
*
curl
;
CURL
code res;
// 动态分配内存,用来存储 HTTP 请求的内容
char *request_
data
= (char *) malloc(1024);
// 使用 sprintf 函数把请求的内容写入内存中
sprintf(request_
data
, "name=John&age=30");
curl
=
curl
_easy_init();
if(
curl
) {
// 设置 HTTP 请求的 URL
curl
_easy_setopt(
curl
,
CURL
OPT_URL, "http://example.com/form");
// 设置 HTTP 请求的方法为
POST
curl
_easy_setopt(
curl
,
CURL
OPT_
POST
, 1L);
// 设置 HTTP 请求的内容类型为 form-
data
curl
_easy_setopt(
curl
,
CURL
OPT_HTTPHEADER, "Content-Type: multipart/form-
data
");
// 设置 HTTP 请求的内容
curl
_easy_setopt(
curl
,
CURL
OPT_
POST
FIELDS, request_
data
);
// 发送 HTTP 请求
res =
curl
_easy_perform(
curl
);
// 释放
curl
对象
curl
_easy_cleanup(
curl
);
// 释放动态分配的内存
free(request_
data
);
return 0;
在上面的代码中,我们使用 `
curl
` 库的 `
curl
_easy_setopt` 函数设置了 HTTP 请求的方法、内容类
CSDN-Ada助手:
Apache mod_wsgi模块简介
HP_codespace:
Maven中的库(repository)详解
Angelica-dahurica:
Maven中的库(repository)详解
Angelica-dahurica:
Django项目与Django应用的关系及django.apps模块
junmingguo: