PHP之curl函数相关试题
一.问答题
1.curl_setopt中超时设置,URL设置,post数据接收设置,解压缩设置,HEADER信息设置的参数名分别是什么?
2.curl批量设置参数的函数是什么?
二.编程题
1.封装一个curl类,提供get,post方法,通过传递url,data数据获取某个网址的内容,方法返回信息格式为array('response'=>'网页内容','status'=>'http请求状态码','error'=>'错误信息')
要求能够改header信息,并且有超时机制,zip解压缩功能
一.问答题
1.CURLOPT_TIMEOUT,CURLOPT_URL,CURLOPT_POSTFILEDS,CURLOPT_ENCODING,CURLOPT_HTTPHEADER
2.curl_setopt_array($ch,$options);
二.编程题
1.
- <?php
- class curl{
- private $ch = '';
- private $timeout = 5;
- public $options = array();
- public $headers = array();
- public $url = '';
- function __construct()
- {
- $this -> ch = curl_init();
- $this -> headers[] = "Accept: */*";
- $this -> headers[] = "Accept-Encoding: gzip,deflate,sdch";
- $this -> headers[] = "Connection: keep-alive";
- }
- public function get($url,$timeout = NULL)
- {
- $this -> url = $url;
- $this -> options[CURLOPT_TIMEOUT] = $timeout?$timeout : $this -> timeout;
- $this -> setopt();
- return $this -> result();
- }
- public function post($url,$data,$timeout = NULL)
- {
- $this -> url = $url;
- $this -> options[CURLOPT_TIMEOUT] = $timeout?$timeout : $this -> timeout;
- $this -> options[CURLOPT_POST] = true;
- $this -> options[CURLOPT_POSTFIELDS] = $data;
- $this -> setopt();
- return $this -> result();
- }
- private function setopt()
- {
- curl_setopt($this -> ch, CURLOPT_URL, $this -> url);
- curl_setopt($this -> ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($this -> ch, CURLOPT_ENCODING , 'gzip');
- curl_setopt($this -> ch, CURLOPT_HTTPHEADER, $this -> headers);
- curl_setopt_array($this -> ch, $this -> options);
- }
- private function execs() {return curl_exec($this -> ch);}
- private function status(){return curl_getinfo($this -> ch, CURLINFO_HTTP_CODE);}
- private function error() {return (curl_errno($this -> ch))?curl_error($this -> ch) : '';}
- private function result()
- {
- $result['response'] = $this -> execs();
- $result['status'] = $this -> status();
- $result['error'] = $this -> error();
- return $result;
- }
- }
PHP之curl函数相关试题的更多相关文章
- 大公司的PHP面试题
1. 禁用COOKIE 后 SEESION 还能用吗? 2. 抓取远程图片到本地,你会用什么函数? 4. 你觉得在pV10W的时候, 同等配置下,LUNIX 比WIN快多少? 5. 简述pOST 和G ...
- php面试题及答案收藏(转)
php面试题及答案收藏(这套试题是在网上看到的,不知作者是谁) 基础题 1.表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据, ...
- PHP极客水平测试——给创业公司用的远程面试题
出了份面试题<PHP极客水平测试>,创业公司可以用这个远程笔试啦,先答题,看答案合适了再邀请面试.希望对创业公司有所帮助,欢迎围观提建议哦^_^ 题目会持续更新. 答题地址:http:// ...
- php面试题之一——PHP核心技术(高级部分)
一.PHP核心技术 1.写出一个能创建多级目录的PHP函数(新浪网技术部) <?php /** * 创建多级目录 * @param $path string 要创建的目录 * @param $m ...
- php面试题之三——PHP网络编程(高级部分)
三.PHP网络编程 [!!!]1.禁用COOKIE后SEESION还能用吗?(51.com笔试题) 可以,COOKIE和SESSION都是用来实现会话机制的,由于http协议是无状态的,所以要想跟踪一 ...
- Shell企业案例实战和企业面试题
shell企业面试题 1.批量创建带有随机小写字符文件程序 使用for循环在/pizza目录下创建10个html文件,其中每个文件包含10个随机小写字母加固定字母_pizza 1.思路分析: 核心是: ...
- PHP 高级工程面试题汇总
PHP高级工程面试题汇总(2018.05) 1.给你四个坐标点,判断它们能不能组成一个矩形,如判断([0,0],[0,1],[1,1],[1,0])能组成一个矩形. 勾股定理,矩形是对角线相等的四边形 ...
- Linux rhcsa认证考试试题模拟
声明: 此套试题是2017年rhcsa考试题库,本题库需配合相对应的机器操作,实验环境在我的网盘下载 考试环境: server.group8.example.com 172.24.8.254/24 s ...
- linux运维工程师面试题收集
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...
随机推荐
- mac安装软件系列
1,mac安装homebrew,注意不能用root权限安装 #ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew ...
- 设计模式 -- 责任链模式或者叫职责链模式(Chain of Responsibility(CoR))
什么是链?前后相连,一个连接下一个,其中包括多个节点,其实责任链模式也类似,他是多个对象之间相互关联,下一个对象的操作由上一个对象关联下来,上一个对象有个方法用于指向其他对象.职责链之间的前后关系是可 ...
- jquery.validationEngine
引入库文件 <!DOCTYPE html> <head> <!--jQuery--> <script type="text/javascript&q ...
- js--数组去重3种方法
js数组去重的三种常用方法总结 第一种是比较常规的方法 思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 3.若结果数组中没有该元素,则存 ...
- CentOS7 安装 Mysql 服务
我希望所有的软件包都用 rpm.yum 安装,这样卸载.升级.管理方便,可是自带的 yum 仓库里面没有 mysql-server 或者不是最新的,我需要安装MySQL官方的 yum 仓库, http ...
- iOS开发打电话的功能
1,这种方法,拨打完电话回不到原来的应用,会停留在通讯录里,而且是直接拨打,不弹出提示 NSMutableString * phoneStr=[[NSMutableString alloc] init ...
- kettle 连接Hadoop
http://wiki.pentaho.com/display/BAD/Additional+Configuration+for+YARN+Shims Copy *-site.xml Cluster ...
- Oberon程序设计—目录
内 容前 言1, 什么是Oberon? 1.1 ALGOL家族 1.2 该系统2, 第一:程序 2.1 一个符号来描述的语法: 2.2练习 第一部分,符号和基本类型,分配,控制结构, ...
- dfs + 最小公倍数 Codeforces Round #383 (Div. 2)
http://codeforces.com/contest/742/problem/C 题目大意:从x出发,从x->f[x] - > f[f[x]] -> f[f[f[x]]] -& ...
- mac mysql下载
mysql下载地址:http://dev.mysql.com/downloads/mysql/,不需要账号的 mysql创建数据库,默认字符集是latin1,可以指定字符集. mac删除mysql c ...