RESTfulAPI学习笔记
来源:互联网 发布:sql server链接服务器 编辑:程序博客网 时间:2024/06/14 18:19
总述:
PHP获取远程url的三种方式
1 标准文件函数
2 curl 扩展
curl_init()
(2)设置变量
curl_setopt() 。最为重要,一切玄妙均在此。有一长串cURL参数可供设置,它们能指定URL请求的各个细节。要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些更常用也更有用的选项。
(3)执行并获取结果
curl_exec()
(4)释放cURL句柄
curl_close()
3 PEAR 的HTTP_Request2类
用get方法获取url
$var= ['pagesize'=>6,'search'=>'keyword'];$qs = http_build_query($var);$url = 'http://simple.com?'.$qs;file_get_contents($url);要获取一个受保护的页面,需要提供账号和密码
$c = curl_init('http://www.simple.com');curl_setopt($c,CURLOPT_RETURNTRANSFER,true);curl_setopt($c,CURLOPT_USERPWD,'username:password');$page = curl_exec($c);curl_close($c);
用post方法获取url
使用http流时使用method和content流上下文选项
$url = 'http://www.simple.com/submit.php';
// 提交的表单数据,编码为查询字符串样式
// 名-值对
$body = ‘monkey=uncle$rhino=aunt’;
$options = array(‘method’=>’post’,
‘content’=>’body’,
‘header’=>’Content-type:application/x-www-form-urlencode’
);
// 创建流上下文
$context =stream_context_create(array(‘http’=>$options));
// 将上下文传入file_get_contents($url,false,$context);
Print file_get_contents($url,false,$context);
利用curl时,设置CURLOPT_POST和CURLOPT_POSTFILEDS选项
$url = 'http://www.simple.com/submit.php';
// 提交的表单数据,编码为查询字符串样式
// 名-值对
$body = ‘monkey=uncle$rhino=aunt’;
$c = curl_init($url);
Curl_setopt($c,CURLOPT_POST,true);
Curl_setopt($c,CURL_POSTFILEDS,$body);
Curl_setopt($c,CURLOPT_RETURNTRANSFER,true);
$page = curl_exec($c);
Curl_close($c);
用任意方法和post体获取url
希望使用某个方法请求一个URL,如post,put或delete,post或put请求可能包含格式化数据,如json和xml
用http流设置method,header,content流上下文选项:
$url = ‘http://www.example.com/meals/1324’;
$header = ‘Content-Type:application/json’;
$body = ‘[
{
‘type’:’appetizer’,
‘dish’:’chinkensoup’
},{
‘type’:’appetizer2’,
‘dish’:’chinkensoup2’
}
]’;
$options = array(
‘method’=>’put’,
‘header’=>$header,
‘content’=>$body
);
// 创建流上下文
$context =stream_context_create(array(‘http’=>$options));
// 将上下文传入file_get_contents($url,false,$context);
Print file_get_contents($url,false,$context);
利用curl时,将CURLOPT_CUSTOMREQUEST选项设置为方法名,如果要包含请求体,将CURLOPT_HTTPHEADER设置为Content-type,另外将CURLOPT_POSTFIELDS设置为请求体
$url = ‘http://www.example.com/meals/1324’;
$body = ‘[
{
‘type’:’appetizer’,
‘dish’:’chinkensoup’
},{
‘type’:’appetizer2’,
‘dish’:’chinkensoup2’
}
]’;
$c = curl_init($url);
Curl_setopt($c,CURLOPT_CUSTORMREQUEST,’PUT’);
Curl_setopt($c,CURLOPT_HTTPHEADER,array(‘Content-type:application/json’));
Curl_setopt($c,CURLOPT_POSTFIELDS,$body);
Curl_setopt($c,CURLOPT_RETURNTRANSFER,true);
$page = curl_exec($c);
Curl_close($c);
使用curl和put上传文件
$url = ‘http://www.example.com/upload.php’;
$filename = ‘/usr/local/images/pig.jpg’;
$fp = fopen($filename,’r’);
$c = curl_init($url);
Curl_setopt($c,CURLOPT_PUT,true);
Curl_setopt($c,CURLOPT_INFILE,$fp);
Curl_setopt$c,CURLOPT_INFILESIZE,filesize($filename));
Curl_setopt($c,CURLOPT_RETURNTRANSFER,true);
$page = curl_exec($c);
Print $page;
Curl_close($c);
用cookie获取url
希望获取一个页面,要求随页面请求发送一个cookie
使用curl时,可以使用CURLOPOT_COOKIE选项:
$c = curl_init(‘http://www.example.com/needscookie.php’);
Curl_setopt($c,CURLOPT_COOKIE,’user=ellen;activity=swimming’);
Curl_setopt($c,CURLOPT_RETURNTRANSFER,true);
$page = curl_exec($c);
- RESTfulAPI学习笔记
- kylin restfulApi
- laravel开发restfulAPI
- RestfulAPI设计指南
- 使用apache的HTTPclient访问restfulAPI
- WebAPI前置知识:HTTP与RestfulAPI
- [java]构建在线restfulAPI文档之swagger2
- WebAPI前置知识:HTTP与RestfulAPI
- SpringBoot 基于swagger实现RESTfulApi风格
- SpringBoot+SpringSecurity+JWT实RESTfulAPI权限控制
- SwaggerUI+SpringMVC——构建RestFulAPI的可视化界面
- SwaggerUI+SpringMVC——构建RestFulAPI的可视化界面
- 7.24-7.26 JLL实习日志-ajax+RestfulApi+Django-未完改进
- AngularJS+RestfulAPI+BasicAuth+Python/PHP/Node.JS来实现一个最简单的新闻管理后台
- [ RESP-API ] SwaggerUI+SpringMVC——构建RestFulAPI的可视化界面
- 学习笔记?
- 学习笔记
- 学习笔记
- 小甲鱼课程学习016-027
- 移动端300ms的点击延迟以及解决方案
- 一只菜鸟的成长之路
- js小知识
- 1286: aabb
- RESTfulAPI学习笔记
- Eclipse环境下使用JNI
- docker 启动安装等命令(Ubuntu环境下)
- shell 数组
- 2141: 排队
- html中如何使用python屏蔽一些基本功能
- hdu 5050 java高精度GCD
- JAVA页面跳转
- 【Centos7笔记三】输入输出,man文档,进程状态