本文目录一览:
- 1、curl命令在PHP中怎么用
- 2、PHP_CURL使用详解
- 3、PHP怎么开启CURL函数
- 4、PHP如何开启curl
- 5、php如何执行linux的curl指令
- 6、PHP如何开启CURL扩展支持?
curl命令在PHP中怎么用
这是我项目中一直在用的一个方法
?php
function curl($url,$params = array(),$header = array(),$timeout = 180){
if(empty($url)) return $url;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$url);//请求url地址
curl_setopt($curl, CURLOPT_HTTPHEADER , $header ); //构造IP
if(!empty($params) count($params) 0){
curl_setopt($curl, CURLOPT_POST, true);
//Request Payload格式数据
if(isset($params['is_json']) $params['is_json'] === true){
unset($params['is_json']);
$params = json_encode($params);
}else{
$params = http_build_query($params);
}
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
}
//curl_setopt($curl, CURLOPT_HEADER, true);//是否返回响应头信息
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//是否将结果返回
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);//是否重定向
//curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 只信任CA颁布的证书
//curl_setopt($curl, CURLOPT_CAINFO, $cacert); // CA根证书(用来验证的网站证书是否是CA颁布)
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配
// 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
//curl_setopt($curl, CURLOPT_HTTPHEADER, array("Expect: "));
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);//用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况;
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);//用来告诉成功PHP脚本,从服务器接收缓冲完成前需要等待多长时间。如果目标是个巨大的文件,生成内容速度过慢或者链路速度过慢,这个参数就会很有用。
// 自动设置Referer
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
//curl_setopt($curl, CURLOPT_COOKIEJAR, "D:phpStudyWWWcjcooBE66.tmp");// //写入cookie信息
//setcookie('cookie_jar', $cookie_jar); //保存cookie路径
$data = curl_exec($curl); //执行
curl_close($curl);
return $data;
}
?
PHP_CURL使用详解
CURL是PHP的一个扩展,利用该扩展可以实现服务器之间的数据或文件传输,用来采集网络中的html网页文件、其他服务器提供接口数据等。
GET请求
POST请求
PHP怎么开启CURL函数
1、将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay32.dll复制到system32下;
2、将php.ini(c:WINDOWS目录下)中的;extension=php_curl.dll中的分号去掉;
3、重启apache或者IIS。
PHP如何开启curl
在安装一些PHP网站的时候,会提示要求开启curl_getinfo()函数支持功能,否则网站无法安装,在网上找了一些资料,试了好多次终于将curl_getinfo()的功能开启,下面介绍一下开启的具体过程。
工具/原料
php.ini
方法/步骤
首先打开php.ini文件,一般默认放在C盘windows目录下。
在php.ini文件夹下,查找extension=php_curl.dll,找到后,把它前面的分号去掉,让它起作用。
然后再查找extension_dir=,看看后面的地址指向哪个文件夹,然后打开这个文件夹。
从这个php5文件夹中找到libeay32.dll, ssleay32.dll,这两个文件,然后把这两个文件拷贝到c盘windows里的system32文件中。
重新启动系统就可以了,网上说只要重启iis或apcha等,但试了好像不灵,果断重启都可以了。
php如何执行linux的curl指令
PHP 中执行系统命令有几种方式:
system():和 C 语言中的 system() 函数的用法是一样的,参数为命令行,成功则返回命令输出的最后一行,失败则返回 FALSE。
shell_exec():执行命令,然后返回命令执行后的 stdout 输出。
passthru():直接执行命令,然后将输出内容直接显示到网页上。
在这里,curl 的输出不用显示到网页上,所以 system() 可能比较合适。
PHP如何开启CURL扩展支持?
开启curl扩展,这需要修改PHP的配置,在Windows 中只需简单三步:
将PHP安装文件夹下的三个文件php_curl.dll(可能在ext文件夹中),libeay32.dll,ssleay32.dll 复制到 %windir%/system32下。
2、打开php.ini(可能在PHP环境的安装目录下,默认在c:\WINDOWS目录下),将;extension=php_curl.dll头部的分号去掉。
3、重启php的服务(apache或者IIS),如重启IIS,运行iisreset即可。