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 ...
随机推荐
- sdk是啥
SDK 英文名称 software development kit ,即 软件开发工具包,就好第三方服务商提供的实现软件某功能的工具包
- 新手购买海外VPS主机需要注意的几个账户安全问题
一般我们用户的项目需要,可能会较多的购买海外的VPS主机项目居多,其实我也比较喜欢国内的阿里云等产品,但是后者需要的一些政策还是比较麻烦, 所以在操作一些调试项目的时候我比较倾向于选择较为便宜的海外V ...
- Hadoop查看目录文件大小的脚本
hadoop fs -du / | awk '{ sum=$1 ;dir2=$3 ; hum[1024**3]="Gb";hum[1024**2]="Mb";h ...
- 笔记整理--C语言
linux下错误的捕获:errno和strerror的使用 - Google Chrome (2014/2/26 17:31:39) linux下错误的捕获:errno和strerror的使用 201 ...
- [妙味JS基础]第六课:作用域、JS预解析机制
知识点总结 浏览器的解析方法 script 全局变量,全局函数 自上而下 函数 由里到外 "JS的解析器": 1)“找一些东西”:var function 参数 var a=未定义 ...
- iOS开发Embedded dylibs/frameworks are only supported on iOS 8.0 and later for architecture armv7的解决方法
全局搜索IPHONEOS_DEPLOYMENT_TARGE改为更小的版本
- PAT 团体程序设计天梯赛-练习集 L1-015. 跟奥巴马一起画方块
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正 ...
- webpack-hot-middleware 用于 livereload
https://github.com/glenjamin/webpack-hot-middleware Webpack hot reloading using only webpack-dev-mid ...
- C# 语言规范_版本5.0 (第5章 变量)
1. 变量 变量表示存储位置.每个变量都具有一个类型,用于确定哪些值可以存储在该变量中.C# 是一种类型安全的语言,C# 编译器保证存储在变量中的值总是具有合适的类型.通过赋值或使用 ++ 和 ‑‑ ...
- 安装asterisk
在centos6.5上: yum -y install lynx mysql-server mysql mysql-devel php php-mysql php-mbstring tftp-serv ...