PHP CURL用法详解
PHP CURL的作用对于很多应用来说有很大的用处,下面我来详细介绍php curl用法详解,有需要了解的朋友可进入参考。 PHP中的CURL函数库(Client URL Library Function) curl_close — 关闭一个curl会话 curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数 curl_errno — 返回一个包含当前会话错误信息的数字编号 curl_error — 返回一个包含当前会话错误信息的字符串 curl_exec — 执行一个curl会话 curl_getinfo — 获取一个curl连接资源句柄的信息 curl_init — 初始化一个curl会话 curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源 curl_multi_close — 关闭一个批处理句柄资源 curl_multi_exec — 解析一个curl批处理句柄 curl_multi_getcontent — 返回获取的输出的文本流 curl_multi_info_read — 获取当前解析的curl的相关传输信息 curl_multi_init — 初始化一个curl批处理句柄资源 curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源 curl_setopt_array — 以数组的形式为一个curl设置会话参数 curl_setopt — 为一个curl设置会话参数 curl_version — 获取curl相关的版本信息 curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址。 curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄。 curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄。 1. php curl的默认调用方法,get方式访问url,代码如下:
2. 设置http header支持curl访问lighttpd服务器,Java代码如下: $header[]= 'Expect:';$header[]= 'Expect:'; 3. 设置curl,只获取http header,不获取body,Java代码如下:
或者只获取body,Java代码如下:
4.访问虚拟主机,需设置Host,代码如下 $header[]= 'Host: '.$host; 5. 使用post,put,delete等REStful方式访问url,代码如下: curl_setopt($ch,CURLOPT_POST,1); put,delete: curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"DELETE"); //或者PUT,需要服务器支持这些方法。 6.保存下载内容为文件,代码如下: curl_setopt($ch,CURLOPT_FILE,$fp); 模拟POST请求,代码如下:
模仿get登录,代码如下:
注意,如果你的curl不可以使用我们可以参考下面方法来打开 启php curl函数库的步骤 1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的; 用 echo phpinfo();查看php.ini的路径 2).把php5/libeay32.dll,ssleay32.dll复制到系统目录windows/下 3).重启apache 配置php支持curl curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,下载文件断点续传,上载文件断点续传,http代理服务器管道( proxy tunneling),甚至它还支持IPv6,socks5代理服务器,通过http代理服务器上传文件到FTP服务器等等,功能十分强大。Windows操作系统下的网络蚂蚁,网际快车(FlashGet)的功能它都可以做到。准确的说,curl支持文件的上传和下载,所以是一个综合传输工具,但是按照传统,用户习惯称curl为下载工具。 配置方法: 1、拷贝PHP目录中的libeay32.dll 和 ssleay32.dll 两个文件到 system32 目录。 2、修改php.ini:配置好 extension_dir ,去掉 extension = php_curl.dll 前面的分号。 php下扩展php_curl.dll的安装 已经内置有php_curl.dll,在ext目录下,此DLL用于支持SSL和zlib,在php.ini中找到有extension=php_curl.dll,去掉前面的注释. 设置extension_dir=c:phpext,刷新PHP页面时报错,说找不到模块php_curl.dll,拷贝php_curl.dll 到windowssystem32,还是同样的错. 在网上找了一下,需要将:libeay32.dll,ssleay32.dll,php5ts.dll,php_curl.dll都拷贝到system32目录下,重启IIS即可. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |