-a --append |
上传时附加到目标文件 |
CURLOPT_FTPAPPEND, CURLOPT_APPEND |
--basic |
使用 HTTP 基本身份验证 |
CURLAUTH_BASIC |
--cacert <file> |
用于验证对等方的 CA 证书 |
CURLE_SSL_CACERT, CURLE_SSL_CACERT_BADFILE |
--capath <dir> |
用于验证对等方的 CA 目录 |
CURLOPT_CAPATH |
-E --cert <certificate[:password]> |
客户端证书文件和密码 |
CURLOPT_SSLCERT, CURLOPT_SSLCERTPASSWD, CURLOPT_SSLCERTTYPE, CURLE_SSL_CACERT, CURLE_SSL_CERTPROBLEM, CURLE_SSL_PEER_CERTIFICATE, CURLE_SSL_CACERT_BADFILE, CURLOPT_ISSUERCERT, CURLINFO_CERTINFO,CURLOPT_CERTINFO |
--connect-to <HOST1:PORT1:HOST2:PORT2> |
连接到主机 |
CURLOPT_CONNECT_TO |
-b --cookie <data> |
从字符串/文件发送 cookie |
CURLOPT_COOKIE, CURLOPT_COOKIEFILE, CURLOPT_COOKIEJAR, CURLOPT_COOKIESESSION, CURL_LOCK_DATA_COOKIE, CURLINFO_COOKIELIST,CURLOPT_COOKIELIST |
--crlf |
上传时将 LF 转换为 CRLF |
CURLOPT_CRLF, CURLOPT_CRLFILE |
--crlfile <file> |
从给定文件中获取 PEM 格式的 CRL 列表 |
CURLOPT_CRLFILE |
-d --data <data> |
HTTP POST 数据 |
CURLOPT_READDATA, CURL_LOCK_DATA_COOKIE, CURL_LOCK_DATA_DNS,CURL_LOCK_DATA_SSL_SESSION |
--delegation <LEVEL> |
GSS-API 委托权限 |
CURLGSSAPI_DELEGATION_FLAG, CURLGSSAPI_DELEGATION_POLICY_FLAG,CURLOPT_GSSAPI_DELEGATION |
--digest |
使用 HTTP 摘要式身份验证 |
CURLAUTH_DIGEST, CURLAUTH_DIGEST_IE |
--dns-interface <interface> |
用于 DNS 请求的接口 |
CURLOPT_DNS_INTERFACE |
--dns-servers <addresses> |
要使用的 DNS 服务器地址 |
CURLOPT_DNS_SERVERS |
--engine <name> |
要使用的加密引擎 |
CURLOPT_SSLENGINE, CURLOPT_SSLENGINE_DEFAULT, CURLE_SSL_ENGINE_NOTFOUND, CURLE_SSL_ENGINE_SETFAILED,CURLINFO_SSL_ENGINES |
-f --fail |
HTTP 错误时静默失败(根本没有输出) |
CURLOPT_FAILONERROR, CURLE_FAILED_INIT, CURLE_FTP_PORT_FAILED, CURLE_HTTP_PORT_FAILED, CURLE_LDAP_SEARCH_FAILED, CURLE_SSL_ENGINE_SETFAILED, CURLE_FTP_SSL_FAILED,CURL_FNMATCHFUNC_FAIL |
-F --form <name=content> |
指定多部分 MIME 数据 |
CURLE_FTP_WEIRD_227_FORMAT, CURLE_MALFORMAT_USER, CURLE_URL_MALFORMAT, CURLE_URL_MALFORMAT_USER,CURLM_CALL_MULTI_PERFORM |
--ftp-account <data> |
帐户数据字符串 |
CURLOPT_FTP_ACCOUNT |
--ftp-alternative-to-user <command> |
替换 USER [name] 的字符串 |
CURLOPT_FTP_ALTERNATIVE_TO_USER |
-P --ftp-port <address> |
使用 PORT 而不是 PASV |
CURLE_FTP_PORT_FAILED |
--ftp-skip-pasv-ip |
跳过 PASV 的 IP 地址 |
CURLOPT_FTP_SKIP_PASV_IP |
--ftp-ssl-ccc |
认证后发送 CCC |
CURLOPT_FTP_SSL_CCC |
-G --get |
将post数据放在URL中并使用GET |
CURLOPT_HTTPGET, CURLE_FTP_CANT_GET_HOST, CURLE_FTP_COULDNT_GET_SIZE,CURL_RTSPREQ_GET_PARAMETER |
-I --head |
仅显示文档信息 |
CURLOPT_HEADER, CURLOPT_HEADERFUNCTION, CURLOPT_HTTPHEADER, CURLOPT_WRITEHEADER, CURLINFO_HEADER_OUT, CURLINFO_HEADER_SIZE, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLOPT_HEADEROPT,CURLOPT_PROXYHEADER |
-H --header <header/@file> |
将自定义标头传递给服务器 |
CURLOPT_HEADER, CURLOPT_HEADERFUNCTION, CURLOPT_HTTPHEADER, CURLOPT_WRITEHEADER, CURLINFO_HEADER_OUT, CURLINFO_HEADER_SIZE, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLOPT_HEADEROPT,CURLOPT_PROXYHEADER |
--http2 |
使用 HTTP 2 |
CURLOPT_HTTP200ALIASES, CURL_VERSION_HTTP2 |
--ignore-content-length |
忽略远程资源的大小 |
CURLOPT_IGNORE_CONTENT_LENGTH |
--interface <name> |
使用网络接口(或地址) |
CURLOPT_INTERFACE, CURLOPT_DNS_INTERFACE |
-6 --ipv6 |
将名称解析为 IPv6 地址 |
CURL_VERSION_IPV6 |
--key <key> |
私钥文件名 |
CURLOPT_SSLKEY, CURLOPT_SSLKEYPASSWD, CURLOPT_SSLKEYTYPE, CURLE_SSL_PINNEDPUBKEYNOTMATCH, CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CURLOPT_KEYPASSWD, CURLSSH_AUTH_KEYBOARD, CURLSSH_AUTH_PUBLICKEY,CURLOPT_PINNEDPUBLICKEY |
--krb <level> |
安全地启用 Kerberos |
CURLOPT_KRB4LEVEL, CURLOPT_KRBLEVEL |
--local-port <num/range> |
强制对本地端口号使用 RANGE |
CURLINFO_LOCAL_PORT |
-L --location |
跟随重定向 |
CURLOPT_FOLLOWLOCATION |
--login-options <options> |
服务器登录选项 |
CURLOPT_LOGIN_OPTIONS |
--mail-auth <address> |
原始电子邮件的发件人地址 |
CURLOPT_MAIL_AUTH |
--mail-from <address> |
来自这个地址的邮件 |
CURLOPT_MAIL_FROM |
--mail-rcpt <address> |
邮寄到这个地址 |
CURLOPT_MAIL_RCPT |
--negotiate |
使用 HTTP 协商 (SPNEGO) 身份验证 |
CURLAUTH_GSSNEGOTIATE, CURLAUTH_NEGOTIATE |
-n --netrc |
必须阅读 .netrc 以获取用户名和密码 |
CURLOPT_NETRC, CURL_NETRC_IGNORED, CURL_NETRC_OPTIONAL, CURL_NETRC_REQUIRED,CURLOPT_NETRC_FILE |
--netrc-file <filename> |
为 netrc 指定 FILE |
CURLOPT_NETRC_FILE |
--netrc-optional |
使用 .netrc 或 URL |
CURL_NETRC_OPTIONAL |
--noproxy <no-proxy-list> |
不使用代理的主机列表 |
CURLOPT_NOPROXY |
--ntlm |
使用 HTTP NTLM 身份验证 |
CURLAUTH_NTLM, CURLAUTH_NTLM_WB |
--ntlm-wb |
将 HTTP NTLM 身份验证与 winbind 结合使用 |
CURLAUTH_NTLM_WB |
--oauth2-bearer <token> |
OAuth 2 承载令牌 |
CURLOPT_XOAUTH2_BEARER |
--pass <phrase> |
私钥的密码短语 |
CURLOPT_SSLCERTPASSWD, CURLOPT_SSLKEYPASSWD, CURLE_BAD_PASSWORD_ENTERED, CURLE_FTP_USER_PASSWORD_INCORRECT, CURLE_FTP_WEIRD_PASS_REPLY, CURLFTPSSL_CCC_PASSIVE, CURLOPT_KEYPASSWD, CURLSSH_AUTH_PASSWORD, CURLOPT_PASSWORD, CURLOPT_PROXYPASSWORD,CURLOPT_TLSAUTH_PASSWORD |
--path-as-is |
不要挤压 .. URL 路径中的序列 |
CURLOPT_PATH_AS_IS |
--pinnedpubkey <hashes> |
FILE/HASHES 用于验证对等方的公钥 |
CURLE_SSL_PINNEDPUBKEYNOTMATCH |
--proto <protocols> |
启用/禁用协议 |
CURLE_UNSUPPORTED_PROTOCOL,CURLOPT_PROTOCOLS,CURLOPT_REDIR_PROTOCOLS,CURLPROTO_ALL,CURLPROTO_DICT,CURLPROTO_FILE,CURLPROTO_FTP,CURLPROTO_FTPS,CURLPROTO_HTTP,CURLPROTO_HTTPS,CURLPROTO_LDAP,CURLPROTO_LDAPS,CURLPROTO_SCP,CURLPROTO_SFTP,CURLPROTO_TELNET,CURLPROTO_TFTP,CURLPROTO_IMAP,CURLPROTO_IMAPS,CURLPROTO_POP3,CURLPROTO_POP3S,CURLPROTO_RTSP,CURLPROTO_SMTP,CURLPROTO_SMTPS,CURLPROTO_RTMP,CURLPROTO_RTMPE,CURLPROTO_RTMPS,CURLPROTO_RTMPT,CURLPROTO_RTMPTE,CURLPROTO_RTMPTS,CURLPROTO_GOPHER,CURLPROTO_SMB,CURLPROTO_SMBS,CURLOPT_DEFAULT_PROTOCOL |
--proxy-service-name <name> |
SPNEGO 代理服务名称 |
CURLOPT_PROXY_SERVICE_NAME |
-p --proxytunnel |
通过 HTTP 代理隧道操作(使用 CONNECT) |
CURLOPT_HTTPPROXYTUNNEL |
--pubkey <key> |
SSH 公钥文件名 |
CURLE_SSL_PINNEDPUBKEYNOTMATCH |
-Q --quote |
传输前向服务器发送命令 |
CURLOPT_POSTQUOTE, CURLOPT_PREQUOTE, CURLOPT_QUOTE,CURLE_FTP_QUOTE_ERROR |
--random-file <file> |
用于读取随机数据的文件 |
CURLOPT_RANDOM_FILE |
-r --range <range> |
仅检索 RANGE 内的字节 |
CURLOPT_RANGE, CURLE_HTTP_RANGE_ERROR,CURLOPT_LOCALPORTRANGE |
-e --referer <URL> |
推荐网址 |
CURLOPT_AUTOREFERER, CURLOPT_REFERER |
-X --request <command> |
指定要使用的请求命令 |
CURLOPT_CUSTOMREQUEST, CURLINFO_REQUEST_SIZE,CURLOPT_RTSP_REQUEST |
--resolve <host:port:address[,address]...> |
将host+port解析为这个地址 |
CURLE_COULDNT_RESOLVE_HOST, CURLE_COULDNT_RESOLVE_PROXY, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6, CURL_IPRESOLVE_WHATEVER,CURLOPT_RESOLVE |
--retry <num> |
如果出现暂时性问题,请重试请求 |
CURLFTP_CREATE_DIR_RETRY |
--sasl-ir |
在 SASL 身份验证中启用初始响应 |
CURLOPT_SASL_IR |
--service-name <name> |
SPNEGO 服务名称 |
CURLOPT_PROXY_SERVICE_NAME, CURLOPT_SERVICE_NAME |
--socks4 <host[:port]> |
给定主机 + 端口上的 SOCKS4 代理 |
CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A |
--socks4a <host[:port]> |
给定主机 + 端口上的 SOCKS4a 代理 |
CURLPROXY_SOCKS4A |
--socks5 <host[:port]> |
给定主机 + 端口上的 SOCKS5 代理 |
CURLPROXY_SOCKS5, CURLPROXY_SOCKS5_HOSTNAME, CURLOPT_SOCKS5_GSSAPI_NEC,CURLOPT_SOCKS5_GSSAPI_SERVICE |
--socks5-gssapi |
为 SOCKS5 代理启用 GSS-API 身份验证 |
CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPT_SOCKS5_GSSAPI_SERVICE |
--socks5-gssapi-nec |
与 NEC SOCKS5 服务器的兼容性 |
CURLOPT_SOCKS5_GSSAPI_NEC |
--socks5-gssapi-service <name> |
GSS-API 的 SOCKS5 代理服务名称 |
CURLOPT_SOCKS5_GSSAPI_SERVICE
Vla*_*vic
7
您在命令行中拥有cURL,可以使用此工具将其转换为PHP:
https://incarnate.github.io/curl-to-php/
Run Code Online (Sandbox Code Playgroud)
经过长时间的寻找解决方案,它帮助了我!希望它也会帮助你!你的解决方案是:
// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://hostname/@api/deki/pages/=TestPage/files/=test.png");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$post = array(
"file" => "@" .realpath("test.png")
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
$headers = array();
$headers[] = "Content-Type: image/png";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64808 次 |
| 最近记录: |
6 年,4 月 前 |
|