PHP中的跨域请求

来源:互联网 发布:健康 知乎 编辑:程序博客网 时间:2024/05/11 21:10

导言: 

         之前写APP的时候,后台都搭好了(不是自己搭建的),接口也写好了。无聊的时候想写个PHP版本的,因为接口等都已经是好的,所以想直接用。由于一开始写用的是AJAX请求(服务器不是自己写的,网上的AJAX跨域请求都是需要修改服务端和客户端)导致跨域问题,然后就悲剧了..................... 

1.file_get_contents:

   
// 地址$host = 'http://221.XXX.176.69:8099/read/book/booksList.e';// 打开地址$result=file_get_contents($host);// 得到结果echo $result;

2.Curl

     CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。
// 初始化$ch = curl_init();$url = 'http://221.XXX.176.69:8099/read/book/booksList.e';// 添加apikey到headercurl_setopt($ch, CURLOPT_HTTPHEADER  , $header);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 执行HTTP请求curl_setopt($ch , CURLOPT_URL , $url);//执行 得到的结果$res = curl_exec($ch);// 释放链接curl_close($ch);echo $res;var_dump(json_decode($res));

3.fopen

//地址$url="http://221.XXX.176.69:8099/read/book/booksList.e";//打开连接$fp=fopen($url,'r');$result;//循环读取while(!feof($fp)){// 获取结果$result.=fgets($fp,1024);}echo $result;// 关闭fclose($fp);


大功告成!!!其实我还是喜欢AJAX的。


1 0
原创粉丝点击