V2EX 首页   注册   登入
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请 登入
Sponsored by
唐茶 字节社
中文世界最好的电子书城
V2EX  ›  Python

写了一个短链接服务

By lyxint at 162 天前, 1278 次点击
用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用来做存储

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

我会注意的, 多谢指点
    11
iray1991   129 天前
晕我错了,这个是短链接还原,楼上见谅,这里不好删帖。。。
    12
reinhard   121 天前
@evlos 谢谢提醒~
    13
mlzboy   120 天前
储存用的是文件?
    14
lyxint   120 天前
@mlzboy 嗯,纯文件。 github上还有一个mongodb的分支
    15
dreampuf   120 天前
不错的思路,clone了。
    16
soulsaunter   74 天前
我倒。貌似被墙了。
武汉电信测试...
    17
sobigfish   74 天前
可以试试google safebrowsing API 过滤掉有害的地址不给它服务。 http://code.google.com/apis/safebrowsing/
    18
lyxint   73 天前
@soulsaunter 放在linode上的

@sobigfish 谢谢分享
    19
udonmai   73 天前
为神马存文件?
    20
lyxint   73 天前
@udonmai "归根结底都是文件", 开个玩笑。 不用数据库是因为本来就没多复杂的逻辑, 能不用就不用。

shurl还有一个mongodb分支
    21
udonmai   73 天前
@lyxint 恩,也是。。也不用什么计算~
Linode
关于   |   FAQ   |   我们的愿景   |   广告投放   |   工作空间   |   Gadget Lab   |   博客   |   上网首页   |   256 人在线   最高记录 362
创意工作者们的社区
Lovingly made by OLIVIDA
VERSION: 3.0.0-dev
♥ Do have a faith in what you're doing.