php+ajax简单实现跨域(http+https)请求调用

当一个网站 a站 需要调用另一个网站 b站 列表文章时

比如:www.a123.com 调用 www.b456.com 文章

在 a站 建立php文件获取 b站 资源文章到本地后,再传递a站前端

在网站 b456 下的文件为

<ul class="ls_wz">
<li><a href="#" target="_blank" title="title1" >内容1</a><span>[1970-01-01]</span></li>
<li><a href="#" target="_blank" title="title2" >内容2</a><span>[1970-01-01]</span></li>
<li><a href="#" target="_blank" title="title3" >内容3</a><span>[1970-01-01]</span></li>
</ul>

在网站 a123 根目录(随意)下建立

a .php 文件:

 <?php
//获取文中传递参数
//$data['title']=$_GET['title'];
// $data['link']=$_GET['link'];
// $data['pubDate']=$_GET['pubDate'];$data['callback']=$_GET['callback'];//尤为重要模拟跨callback//$data = array('title'=>title,'link'=>link,'pubData'=>pubData,'callback'=>callback);//$dataToJson = json_encode($data);//var_dump($data);$url="http://www.b456.com/b.php";//B站请求地址$postdata = http_build_query($data);$opts = array('http'=>array('method'=>"GET",'timeout'=>60,));$context = stream_context_create($opts);$result = file_get_contents($url."?".$postdata, false, $context);echo  $result;//var_dump($result);?>

a.html 文件:

<script type="text/javascript" src="js/jquery.min.js"></script>
<div id="zd" class="ls_wz" style="height:144px; overflow:hidden">        
</div>        <script>$(function() {var url =  'http://www.a123.com/a.php';$.ajax({type: "get",url: url,async: false,//dataType:'jsonp',
                    success: function (data) {var html = data;//html += '<p class="more"><a target="_blank" href="#">更多+</a></p>';
                        $("#zd").html(html);//alert('#zd');
                    }})})</script>

CSS:

/*css*/
.ls_wz{ float: left;height:144px;overflow:hidden;}
.ls_wz li{ list-style:none; line-height:23px; padding: 0 8px; font-size:12px; width:320px; padding-left:12px;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;} 
.ls_wz li a {word-break: keep-all;white-space: nowrap;display: inline-block;width: 320px;overflow: hidden;text-decoration:none;text-overflow: ellipsis;}
.ls_wz li a:hover{color:#C30000; text-decoration:underline; }
.ls_wz li span{ display:none;}

还有一种情况就是,当遇到

http 和 https 通过认证验证的跨域请求调用:

header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin: *'); //指定访问网站请求
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段

当然了,不希望别人访问当前的文件:

//禁止访问当前文件 
$fromurl="http://localhost/"; //跳转到这个地址。
if( $_SERVER['HTTP_REFERER'] == "" )
{
header("Location:".$fromurl); exit;
}

转载于:https://www.cnblogs.com/chervehong/p/10294367.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ORB-SLAM2中MapPoints的描述子的计算

//我们在从金字塔的图像中获取特征点时为每一个特征点计算了描述子 //现在看看如何计算一个空间的地图点的描述子 void MapPoint::ComputeDistinctiveDescriptors() {// Retrieve all observed descriptorsvector<cv::Mat> vDescriptors;//获取到某一个地图点可以被哪些关…

HDU:4185-Oil Skimming

Oil Skimming Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description Thanks to a certain “green” resources company, there is a new profitable industry of oil skimming. There are large slicks of crude oil floa…

域控制器情况分析

域控制器情况分析 1、Windows Server 的 Foundation、Standard、Enterprise 以及 Datacenter 版本号既可作为源server&#xff0c;也可作为目标server。仅支持将 Foundation Server 版本号作为受限方案中的目标server。在使用 Foundation Server 作为目标server之前&#xff0c…

Linux基础命令---su

su临时切换身份到另外一个用户&#xff0c;使用su切换用户之后&#xff0c;不会改变当前的工作目录&#xff0c;但是会改变一些环境变量。此命令的适用范围&#xff1a;RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法su [选项] [参数]2、选项列表--help显示…

在Ubuntu 16.04 上安装和卸载matlab 2018b(Install and uninstall matlab 2018b on ubuntu)

1.安装2018b可以参考下面两篇文章 https://www.ph0en1x.space/2018/04/23/ubuntu_matlab/ https://blog.csdn.net/qq_32892383/article/details/79670871 2.卸载2018b 我的默认安装在 /usr/local/MATLAB $ sudo rm -r /usr/local/MATLAB $ cd ~ $ ll (这个时候可以看到隐…

04.openssl编程——哈希表

4.1 哈希表在一般的数据结构如线性表和树中&#xff0c;记录在结构中的相对位置与记录的关键字之间不存在确定的关系&#xff0c;在结构中查找记录时需要进行一系列的关键字比较。这一类查找方法建立在比较的基础上&#xff0c;查找的效率与比较次数密切相关。理想的情况是能…

shell数组中“和@的妙用

#!/bin/bashlist(4k"8k a bit""16k abc""32k gold"64k)for i in "${list[]}"do echo $idone 分别对比一下不带” 和换成*&#xff0c;之间的区别。转载于:https://www.cnblogs.com/zjd2626/p/7041341.html

「JupyterLab」 Jupyter Notebook 新生代IDE模式页面

参考&#xff1a;Overview 安装&#xff1a; $ pip install jupyterlab 启动&#xff08;不是jupyter notebook&#xff09;&#xff1a; $ jupyter lab Jupyterlab中最好用的就是显示csv数据。CSV数据显示效果&#xff1a; 安装插件 jupyterlab是和jupyter notebook隔离的&…

undefined reference to 'pthread_create'

刚在Ubuntu16.04 上用Clion写一个"单生产者-单消费者"的线程的程序&#xff0c;源程序可以参考下面的网址 https://www.cnblogs.com/haippy/p/3252092.html 在编译的时候编译器给的提示是&#xff1a; undefined reference to pthread_create 解决办法就是在CMake…

windows下安装vundle

windows下安装vundle ## 前言 windows下安装vundle和linux下稍微有些不一样&#xff0c;虽然官网给出了 安装说明&#xff0c;但是有些问题的。E117: Unknown function: vundle#begin ## 安装步骤 参考官方文档即可vundle ## 问题处理 修改_vimrc配置文件内容&#xff0c;这是正…

深度学习框架不能“包治百病”,开发者如何选出最适合自己的?

随着深度学习关注度和势头上升&#xff0c;深度学习被越来越多的企业和组织的生产实践结合起来。这时&#xff0c;无论是对于深度学习相关专业的初学者&#xff0c;还是已经在企业和组织中从事工业场景应用和研发的开发者来说&#xff0c;选择一个适合自己&#xff0c;适合业务…

Linux+CLion+cmake 动态链接库的使用

在作《剑指offer》中的单向链表的题目时&#xff0c;需要一些常用到的操作链表的函数放在一个文件下&#xff0c;我想把这些函数的声明都写在list.h文件中&#xff0c;把这些函数的定义都写在list.cpp文件中&#xff0c;这样就可以在测试文件test.cpp中调用list.cpp中定义的函数…

PAT(乙级)1009

1009. 说反话 (20)给定一句英语&#xff0c;要求你编写程序&#xff0c;将句中所有单词的顺序颠倒输出。 输入格式&#xff1a;测试输入包含一个测试用例&#xff0c;在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成&#xff0c;其中单词是由英文字母&…

库存扣减问题

2019独角兽企业重金招聘Python工程师标准>>> 并发减库存 并发扣库存问题总结 库存扣减还有这么多方案&#xff1f; | 架构师之路 转载于:https://my.oschina.net/u/2939155/blog/3004363

HSRPSTPACL

1 HSRP配置 1.1 问题 在企业网络到外部的连接方案中&#xff0c;要求不高的条件下可以是单出口。一旦该出口线路出现问题&#xff0c;整个企业网络就不能连接到外网了。为了使得企业网络到外网连接的高可用性&#xff0c;可以设置两个以上的出口&#xff0c;然而多个出口对…

java 的 CopyOnWriteArrayList类

初识CopyOnWriteArrayList 第一次见到CopyOnWriteArrayList&#xff0c;是在研究JDBC的时候&#xff0c;每一个数据库的Driver都是维护在一个CopyOnWriteArrayList中的&#xff0c;为了证明这一点&#xff0c;贴两段代码&#xff0c;第一段在com.mysql.jdbc.Driver下&#xff0…

科技的趋势!AI将进军了37%的企业

2019独角兽企业重金招聘Python工程师标准>>> 市场研究机构Gartner调查了全球89个国家的逾3,000名信息长&#xff08;CIO&#xff09;&#xff0c;显示有37%的企业已经或打算于近期内部署人工智能&#xff08;AI&#xff09;&#xff0c;在4年内成长270%。Gartner研究…

CMakeLists.txt编写规则

在PROJECT_SOURCE_DIR下新建了src, include, lib, bin四个子文件夹。 src文件夹用来存放所有的.cpp文件&#xff0c;include文件夹用来存储所有的.h文件&#xff0c; lib中存放生成的自己编写的共享库&#xff0c; bin中存放所有的可执行文件 用SET来设置.exe可执行文件和共享…

nginx.conf配置详解

######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组 user www www;#nginx进程数&#xff0c;建议设置为等于CPU总核心数。 worker_processes 8;#全局错误日志定义类型&#xff0c;[ debug | info | notice | warn | error | crit ] error_log /usr/local…

更新 hadoop eclipse 插件

卸载hadoop 1.1.2插件。并安装新版hadoop 2.2.0插件。 假设直接删除eclipse plugin文件夹下的hadoop 1.1.2插件&#xff0c;会导致hadoop 1.1.2插件残留在eclipse中&#xff0c;在eclipse perspective视图中有Map/Reduce视图&#xff0c;可是没有图标&#xff0c;新建项目也不会…