说明
此项目最初制作的目的并不是用来访问境外网站!(虽然我视频里面是这么干的)但是!此项目的真正目的是为某些无法直接调用https请求的物联网设备(如ESP8266)设计的,将此项目布置到非https站点,便可让只支持http的设备请求https。
演示
本来是有演示的!但是proxy.tttttttttt.top这个演示在发布后不久就受到了极其夸张的访问,导致服务器直接被封了

而且从日志里面来看,大多都拿来在访问境外网站。还有一堆人问xxx网站无法访问/访问异常/页面内容缺失……从原理上这就没办法解决,因为代理过来的页面引用的外部资源(如img css js等等)都不会经过代理,页面显示正常才怪。
构建
目前代码已经重写,支持设置Header参数,当header未指定时自动获取访问者的User-Agent并转发目标服务器<?php if(isset($_GET["URL"])){ $url = $_GET["URL"]; if(isset($_GET["Header"])){ $headers = array($_GET["Header"]); }else{ $headers = array(); $UserHeaders = getallheaders(); $headers = "User-Agent: ".$UserHeaders["User-Agent"]; } $context = stream_context_create(array('http' => array('header' => $headers))); $content = file_get_contents($url, false, $context); }else{ $content = file_get_contents("../main/html"); } echo($content); ?>
使用
请求需要两个参数,URL和Header参数,其中Header参数是可选的。示例:只提供URL参数,返回https://api.com/的内容 https://yours.com/name.php?URL=https://api.com/ 提供URL和Header参数,服务器请求时使用Header,返回https://api.com/的内容(此处用IE11的UA进行示例) https://yours.com/name.php?URL=https://api.com/&Header=user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
如果你觉得我做的不错的话,可以赞赏我吗?谢谢啦~