curl请求的时候 封装到headers
$headers[]="Content-Type:application/json";
$headers[]="Authorization: Basic ".$auth;
...
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
...
curl请求的时候 CURLOPT_USERPWD:传递一个形如[username]:[password]风格的字符串,PHP去连接
$authup=self::$app_key.":".self::$master_secret;
...
curl_setopt($curl, CURLOPT_USERPWD, $authup);
...
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);// 参数为1表示输出信息头,为0表示不输出
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// 参数为1返回,为0表示echo
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_USERPWD, $authup);// Authorization 认证方式
$result = curl_exec($curl);
$err = curl_error($curl);
echo $err;
curl_close($curl);
curl参数详解:
Usage: curl [options...]
--abstract-unix-socket Connect via abstract Unix domain socket
--anyauth Pick any authentication method
-a, --append Append to target file when uploading
--basic Use HTTP Basic Authentication
--cacert CA certificate to verify peer against
--capath CA directory to verify peer against
-E, --cert Client certificate file and password
--cert-status Verify the status of the server certificate
--cert-type Certificate file type (DER/PEM/ENG)
--ciphers SSL ciphers to use
--compressed Request compressed response
-K, --config Read config from a file
--connect-timeout Maximum time allowed for connection
--connect-to Connect to host
-C, --continue-at Resumed transfer offset
-b, --cookie Send cookies from string/file
-c, --cookie-jar Write cookies to after operation
--create-dirs Create necessary local directory hierarchy
--crlf Convert LF to CRLF in upload
--crlfile Get a CRL list in PEM format from the given file
-d, --data HTTP POST data
--data-ascii HTTP POST ASCII data
--data-binary HTTP POST binary data
--data-raw HTTP POST data, '@' allowed
--data-urlencode HTTP POST data url encoded
--delegation GSS-API delegation permission
--digest Use HTTP Digest Authentication
-q, --disable Disable .curlrc
--disable-eprt Inhibit using EPRT or LPRT
--disable-epsv Inhibit using EPSV
--dns-interface Interface to use for DNS requests
--dns-ipv4-addr IPv4 address to use for DNS requests
--dns-ipv6-addr IPv6 address to use for DNS requests
--dns-servers DNS server addrs to use
-D, --dump-header Write the received headers to
--egd-file EGD socket path for random data
--engine Crypto engine to use
--expect100-timeout How long to wait for 100-continue
-f, --fail Fail silently (no output at all) on HTTP errors
--fail-early Fail on first transfer error, do not continue
--false-start Enable TLS False Start
-F, --form Specify HTTP multipart POST data
--form-string Specify HTTP multipart POST data
--ftp-account Account data string
--ftp-alternative-to-user String to replace USER [name]
--ftp-create-dirs Create the remote dirs if not present
--ftp-method Control CWD usage
--ftp-pasv Use PASV/EPSV instead of PORT
-P, --ftp-port Use PORT instead of PASV
--ftp-pret Send PRET before PASV
--ftp-skip-pasv-ip Skip the IP address for PASV
--ftp-ssl-ccc Send CCC after authenticating
--ftp-ssl-ccc-mode Set CCC mode
--ftp-ssl-control Require SSL/TLS for FTP login, clear for transfer
-G, --get Put the post data in the URL and use GET
-g, --globoff Disable URL sequences and ranges using {} and []
-I, --head Show document info only
-H, --header Pass custom header(s) to server
-h, --help This help text
--hostpubmd5 Acceptable MD5 hash of the host public key
-0, --http1.0 Use HTTP 1.0
--http1.1 Use HTTP 1.1
--http2 Use HTTP 2
--http2-prior-knowledge Use HTTP 2 without HTTP/1.1 Upgrade
--ignore-content-length Ignore the size of the remote resource
-i, --include Include protocol response headers in the output
-k, --insecure Allow insecure server connections when using SSL
--interface Use network INTERFACE (or address)
-4, --ipv4 Resolve names to IPv4 addresses
-6, --ipv6 Resolve names to IPv6 addresses
-j, --junk-session-cookies Ignore session cookies read from file
--keepalive-time Interval time for keepalive probes
--key Private key file name
--key-type Private key file type (DER/PEM/ENG)
--krb Enable Kerberos with security
--libcurl Dump libcurl equivalent code of this command line
--limit-rate Limit transfer speed to RATE
-l, --list-only List only mode
--local-port Force use of RANGE for local port numbers
-L, --location Follow redirects
--location-trusted Like --location, and send auth to other hosts
--login-options Server login options
--mail-auth Originator address of the original email
--mail-from Mail from this address
--mail-rcpt Mail from this address
-M, --manual Display the full manual
--max-filesize Maximum file size to download
--max-redirs Maximum number of redirects allowed
-m, --max-time