short 开源的短域名服务开源项目

我要开发同款
匿名用户2011年09月28日
105阅读
开发技术JavaScript
所属分类建站系统、短网址服务
授权协议MIT

作品详情

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

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

$npminstallshort

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

varmongoose=require("mongoose");varshort=require("short");mongoose.connect("mongodb://localhost/short");varURL="https://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{varURL=shortURLObject[0].URLvarhash=shortURLObject[0].hash;console.log(URL,hash);process.exit(1);};});}});

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

varhttp=require("http");varmongoose=require("mongoose");varshort=require("short");mongoose.connect("mongodb://localhost/short");varapp=http.createServer(function(request,response){varhash=request.url.slice(1);if(request.url==="/"){response.writeHead(200,{"Content-Type":"text/html"});response.write("URLnotfound!");response.end();}else{short.get(hash,function(error,shortURLObject){if(error){console.error(error);}else{if(shortURLObject){varURL=shortURLObject[0].URL;response.writeHead(302,{"Location":URL});response.end();}else{response.writeHead(200,{"Content-Type":"text/html"});response.write("URLnotfound!");response.end();}};});}});app.listen(8080);console.log(">Openhttps://localhost:8080/kQ4c");
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论