php 跨域json中转代码

本文介绍了一种通过本地PHP服务器中转的方式解决JSON跨域问题的方法。当直接从客户端请求某些API遭遇跨域限制时,可以搭建一个简单的PHP脚本来代理请求,避免跨域问题。该脚本使用cURL发起GET请求,并将结果返回给前端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 有时候因为json跨域,无法获取数据,可以在本地php服务器上临时做一下中转。访问本地服务器php链接, 如 'json.php?link=http://api.minetools.eu' ,其中link为实际要访问的url, 即可获得数据。

<?php

$link = filter_input(INPUT_GET,"link",FILTER_SANITIZE_STRING);

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://api.minetools.eu/ping/play.desnia.net/25565",
  CURLOPT_URL => $link,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

// $response = json_decode($response, true); //because of true, it's in an array
// echo 'Online: '. $response['players']['online'];
echo $response;

?>

参考来源为 stack-overflow

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值