开源的短域名服务 short

未知
JavaScript
跨平台
2011-09-28
红薯

short是一个开源的短域名服务,使用Node.jsMongoDB搭建,可以直接在你的Server程序中调用,也可以通过Node.js的http server模块以一个服务启动。

可以直接通过Node.js的npm进行安装:

$ npm install short

你可以直接在你的Node.js项目中这样调用,生成长域名对应的短链接:

var mongoose = require("mongoose");
var short = require("short");

mongoose.connect("mongodb://localhost/short");

var URL = "http://nodejs.org/";

short.make(URL, function(error, shortURL) {
    if (error) {
        console.error(error);
    } else {
        short.get(shortURL.hash, function(error, shortURLObject) {
            if (error) {
                console.error(error);
            } else {
                var URL = shortURLObject[0].URL
                var hash = shortURLObject[0].hash;
                console.log(URL, hash);
                process.exit(1);
            };
        });
    }
});

下面代码用于搭建一个提供短域名跳转的HTTP 服务:

var http = require("http");
var mongoose = require("mongoose");
var short = require("short");

mongoose.connect("mongodb://localhost/short");

var app = http.createServer(function(request, response) {
    var hash = request.url.slice(1);
    if (request.url === "/") {
        response.writeHead(200, { "Content-Type" : "text/html" });
        response.write("URL not found!");
        response.end();
    } else {
        short.get(hash, function(error, shortURLObject) {
            if (error) {
                console.error(error);
            } else {
                if (shortURLObject) {
                    var URL = shortURLObject[0].URL;
                    response.writeHead(302, {
                        "Location" : URL
                    });
                    response.end();
                } else {
                    response.writeHead(200, { "Content-Type" : "text/html" });
                    response.write("URL not found!");
                    response.end();
                }
            };
        });
    }
});

app.listen(8080);
console.log("> Open http://localhost:8080/kQ4c");
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

导出到Excal表格

public class Download { /** * 将数据导出到Excel * * @param SaleslipDetail * 销货单明细数据 * @return * @throws Throwable */ @Bizlet() public static int exportSaleSlip(DataObject...

2016/12/15 20:16
36
0
POI 导出jsp 数据到excel

http://yangbobestone.iteye.com/blog/1123458 按照链接里面的思路 做的 public void saveSummaryInExcel(HttpServletRequest request, HttpServletResponse response) throws Exception { ...

2014/03/13 17:22
1K
0
基于beel权限校验标签

基于beetl权限校验标签

2016/06/03 15:26
82
1
导出excel表格 跨列跨行

导出excel表格 跨列跨行

2016/06/03 11:39
167
0
ip tcp udp包头结构

IP,TCP,UDP报头结构 2008-05-07 16:25 版本号(4) 包头长(4) 服务类型(8) 数据包长度(16) 标识(16) 偏移量(16) 生存时间(8) 传输协议(8) 校验和(16) 源地址(32) 目的地...

2013/07/22 11:10
746
1
java poi导入导出2

1.创建一个新的Excel工作薄 [java] //创建新的Excel工作簿 HSSFWorkbookworkbook=new HSSFWorkbook(); //在Excel工作簿中建一工作表,其名为缺省值,也可以指定Sheet名称 HSSFSheetsheet=wor...

2013/09/25 20:46
75
0
c++ warning variable not initialzed after

c++ warning variable not initialzed after

2015/06/30 11:11
14
0
java实现excel的导入导出(poi详解)

我们知道要创建一张excel你得知道excel由什么组成,比如说sheet也就是一个工作表格,例如一行,一个单元格,单元格格式,单元格内容格式…这些都对应着poi里面的一个类。 一个excel表格: HS...

2015/11/25 10:11
318
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部