http 요청 시 Header 에 Authorization 값 구현 방식 추가

20798 단어 php
http 요청 시 Header 에 Authorization 값 구현 방식 추가
REST 인 터 페 이 스 는 HTTP 기본 인증 방식 을 사용 하고 HTTP Header (머리) 에 Authorization 을 추가 합 니 다.
실현 방법
curl 요청 시 headers 에 봉인
        $headers[]="Content-Type:application/json";
        $headers[]="Authorization: Basic ".$auth;
        ...
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        ...

실현 방법
curl 요청 시 CURLOPTUSERPWD: [username]: [password] 스타일 의 문자열 을 전달 하고 PHP 로 연결 합 니 다.
        $authup=self::$app_key.":".self::$master_secret;
        ...
        curl_setopt($curl, CURLOPT_USERPWD, $authup);
        ...

curl 이상 포획
        $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

좋은 웹페이지 즐겨찾기