0

我编写了一个程序来自动缩短链接,它使用我网站的 api,但是当我点击一个缩短的链接时我必须这样做(比如:goo.gle/~~~)这个程序不使用我的服务并重定向到链接没有 Reshorten 链接!如您所知,更短的链接服务现在更改了 url,我需要一个程序,如果在我的值中找到类似 (goo.gle) 的内容,那么不管 Reshorten 服务并使用 api

elseif ($url == "http://goo.gle/")
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: $url");
}

else
{

            $orls = "http://losa.net/api.php?key=dc4c0b38b62b44f69467c33eaf7ce08b&uid=128&adtype=int&url=".$url."";
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL,$orls);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
            $content=curl_exec ($ch);
            curl_close ($ch);
            header("HTTP/1.1 301 Moved Permanently");
            header("Location: $content");
        }
4

1 回答 1

0

不知道你在问什么,但我会回答我所理解的。

  1. 您可以通过使用正则表达式并查看 url 的第一部分是否在一定数量的字符以下来确定 URL 是否使用缩短服务,不确定最长的字符有多长,但大约是 5 个或更少的字符。

  2. 如果是,则尝试让 PHP 捕获标头并找出它重定向两个的位置或使用 API,例如LongUrl

  3. 重新缩短。

或者,如果您说如果 URL 已经缩短,您想忽略您的 API,您可以执行以下操作:

  1. 与上一步相同,使用正则表达式查看第一部分是否少于 5 个字符。

  2. 尝试 展开

  3. 如果您可以扩展重定向。

于 2012-10-04T21:47:13.577 回答