创建一个要使用的URL,而不是多个URL

Create one URL to be used instead of many URLs

本文关键字:URL 一个 创建      更新时间:2023-09-26

我需要从许多URL中创建一个通用URL,例如,如果我有5个URL用于某些页面,我想创建一个新的URL作为这5个页面的缩短URL,换句话说,我需要这些URL以某种方式保存其他URL,并在我将其放在地址栏中时将其返回给我,如果它在选项卡中打开它们,那将是完美的

我不知道如何才能做到这一点,一般来说如何创建URL?以及如何让它做这样的事情。

这可能是一个基本问题!!但我是Web应用程序中的一个小人物,所以很抱歉,如果它还不够清楚的话。

您可以使用PaseteBin及其API。他们有一个API列表,您的网络应用程序可以使用这些API以明文格式存储URL,并将其返回给您。生成的pastebin URL将是包含其他URL的URL。

您需要一个运行php、jsp或任何其他后端语言的Web服务器。然后,您需要使用其中一种语言编写一个页面,该语言将一个链接数组作为get变量,并返回一个javascript主体,该主体在选项卡中打开这个url列表。

例如php

使用serialize和unserialize PHP函数将链接数组发送到PHP页面。此函数为您提供数组类型的可存储(字符串)版本。有关用法的更多信息,请阅读http://php.net/manual/en/function.serialize.php和http://www.php.net/manual/en/function.unserialize.php

然后循环url,并为每个url添加这样的echo消息。

<?php
        foreach ($arrayOfUrls as $url) {
        echo '<script type="text/javascript">var win = window.open('.$url.', "_blank"); </script>';
?>

最后,您需要从javascript代码中调用这个页面,您需要序列化具有url列表的JS数组。

你可以使用这个代码。

/*
* PHP Serialize
* Morten Amundsen
* mor10am@gmail.com
*/
function php_serialize(obj)
{
    var string = '';
    if (typeof(obj) == 'object') {
        if (obj instanceof Array) {
            string = 'a:';
            tmpstring = '';
            count = 0;
            for (var key in obj) {
                tmpstring += php_serialize(key);
                tmpstring += php_serialize(obj[key]);
                count++;
            }
            string += count + ':{';
            string += tmpstring;
            string += '}';
        } else if (obj instanceof Object) {
            classname = obj.toString();
            if (classname == '[object Object]') {
                classname = 'StdClass';
            }
            string = 'O:' + classname.length + ':"' + classname + '":';
            tmpstring = '';
            count = 0;
            for (var key in obj) {
                tmpstring += php_serialize(key);
                if (obj[key]) {
                    tmpstring += php_serialize(obj[key]);
                } else {
                    tmpstring += php_serialize('');
                }
                count++;
            }
            string += count + ':{' + tmpstring + '}';
        }
    } else {
        switch (typeof(obj)) {
            case 'number':
                if (obj - Math.floor(obj) != 0) {
                    string += 'd:' + obj + ';';
                } else {
                    string += 'i:' + obj + ';';
                }
                break;
            case 'string':
                string += 's:' + obj.length + ':"' + obj + '";';
                break;
            case 'boolean':
                if (obj) {
                    string += 'b:1;';
                } else {
                    string += 'b:0;';
                }
                break;
        }
    }
    return string;
}

输出url将类似于yourphppage.php?urls=""a:3{i:0;s:4:"URL1";i:1;s:8:"URL2";i:2;s:7:"URL2";}

我需要这些URL以某种方式保存其他URL,并在我将其放入地址栏时将其返回给我

做到这一点的唯一途径是在资源层面。例如,你可以使用一个HTML文档的URL,它会立即打开5个弹出窗口(尽管这会被大多数浏览器阻止)或在框架中打开5个页面(这将是一个糟糕的UI)。

通常如何创建URL?

运行web服务器。然后将运行机器的地址(其IP地址或使用DNS设置的主机名)与由您选择的web服务器软件处理的本地部分结合起来。