写了一个短链接服务

2011-12-13 23:18:29 +08:00
 lyxint
用python+bottle写了一个简单的短链接服务
主页在 http://shurl.im/
代码在 http://github.com/lyxint/shurl

模仿git.io写的
curl -i http://shurl.im/ -F "url=your url"来创建新的短链接
例如 curl -i http://shurl.im/ -F "url=http://v2ex.com/"
url存的是纯文件, 一个url会用掉两个文件, 比较浪费
下一步看看能不能把git用来做存储

欢迎大家提意见哈
6363 次点击
所在节点    Python
21 条回复
lyxint
2011-12-13 23:30:20 +08:00
在x201i上压测可以到200请求/s, 我也不知道是高了还是低了.
缺点就是浪费inode
zenwong
2011-12-13 23:43:16 +08:00
早年自己也写了一个,不过兴趣一过工作一忙就不想维护了。
lyxint
2011-12-13 23:50:45 +08:00
@zenwong 练手的. 不过有一个人用我就会很开心的. 提什么建议也会及时改进.
evlos
2011-12-13 23:59:34 +08:00
我以前弄了个PHP的,但是后来发现不断有人拿来缩短广告链接去骗人,后来域名在QQ上被列为黑名单了,搜索引擎也几乎搜不到了。所以要架的话,别用有价值的域名喔 ~~
lyxint
2011-12-14 00:01:43 +08:00
@evlos 谢谢提醒
alsotang
2011-12-23 12:30:44 +08:00
@evlos 呵呵呵。
alsotang
2011-12-23 13:19:25 +08:00
看了源码。用了太多import *语法了,连urlfetch也import *,还直接调用post()这个函数.....
《python学习手册》上面说一个模块文件里面最好只用一个import *语法,否则当文件大了的时候不知到某个函数到底是本文见定义的还是文件头的多个import *的其中一个定义的,这样会造成调试困难。如果实在觉得python导入时候的模块名字空间麻烦的话,最好就用类似from urlfetch import post这样的语法,而不是全部导入。
lyxint
2011-12-27 15:19:55 +08:00
@alsotang shurl.im没有用到urlfetch这个模块啊.
lyxint
2011-12-27 16:16:20 +08:00
@alsotang 说得对, 少用并最好不用import *

我会注意的, 多谢指点
iray1991
2012-01-15 12:40:51 +08:00
iray1991
2012-01-15 12:41:42 +08:00
晕我错了,这个是短链接还原,楼上见谅,这里不好删帖。。。
reinhard
2012-01-24 03:00:07 +08:00
@evlos 谢谢提醒~
mlzboy
2012-01-24 12:52:13 +08:00
储存用的是文件?
lyxint
2012-01-24 17:49:12 +08:00
@mlzboy 嗯,纯文件。 github上还有一个mongodb的分支
dreampuf
2012-01-24 18:37:35 +08:00
不错的思路,clone了。
soulsaunter
2012-03-10 12:46:25 +08:00
我倒。貌似被墙了。
武汉电信测试...
sobigfish
2012-03-10 12:49:00 +08:00
可以试试google safebrowsing API 过滤掉有害的地址不给它服务。 http://code.google.com/apis/safebrowsing/
lyxint
2012-03-11 16:23:49 +08:00
@soulsaunter 放在linode上的

@sobigfish 谢谢分享
udonmai
2012-03-11 17:05:07 +08:00
为神马存文件?
lyxint
2012-03-11 17:18:16 +08:00
@udonmai "归根结底都是文件", 开个玩笑。 不用数据库是因为本来就没多复杂的逻辑, 能不用就不用。

shurl还有一个mongodb分支

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/23430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX