PHP curl 详解

本文详细记录了 PHP 使用 curl 遇到的问题。

GitHub:https://github.com/khs1994-php/curl

Windows Curl SSL

https://curl.haxx.se/docs/caextract.html

点击最新的日期,下载文件放到 c:\cacert-2018-03-07.pem

php.ini 增加如下配置

1
curl.cainfo="c:\cacert-2018-03-07.pem"

初始化

1
$ch=curl_init();

设置网址

1
curl_setopt($ch, CURLOPT_URL, $url);

post

1
2
3
curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data)

post 表单

1
2
3
4
5
6
7
$data=[
$media=new CURLFile($filePath)
];

# 旧版本是 @加文件名,新版已废弃。

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

https

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);

// 设置 CA 根证书路径

curl_setopt($ch, CURLOPT_CAINFO, $value);

// 检查证书域名

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $value);

// 设置私钥路径

curl_setopt($ch, CURLOPT_SSLKEY, $value);

// 设置公钥路径

curl_setopt($ch, CURLOPT_SSLCERT, $value);

htpasswd

1
curl_setopt($ch, CURLOPT_USERPWD, $user.':'.$password);

参考链接

0%