我正在尝试使用Django开发一个URL缩短器应用程序.我不明白如何为每个长URL创建唯一字符串以用作短URL.像其他流行的URL缩短程序一样.我怎样才能做到这一点?是否可以制作相同长度的所有短网址?
Google URL缩短器如何生成具有五个字符且没有冲突的唯一哈希.似乎必然存在冲突,其中不同的url生成相同的哈希.
stackoverflow.com => http://goo.gl/LQysz
Run Code Online (Sandbox Code Playgroud)
同样有趣的是,同一个URL,每次生成一个完全不同的哈希:
stackoverflow.com => http://goo.gl/Dl7sz
Run Code Online (Sandbox Code Playgroud)
因此,做一些数学运算,使用小写字符,大写字符和数字,组合的总数是62 ^ 5 = 916,132,832
明确的碰撞发生.
谷歌如何做到这一点?
我正在尝试从url shortener提供的url中获取实际(重定向)url.
我们以twitter url shortener为例.我能够得到响应对象也解析它以获取文档.
Response response = Jsoup.connect("http://t.co/i5dE1K4vSs")
.followRedirects(true) //to follow redirects
.execute();
Run Code Online (Sandbox Code Playgroud)
现在,考虑单个重定向,从哪里获取最终的URL?实现这一目标的任何方法或策略?
我正在为Bitly API Version 3使用Bitly gem(https://github.com/philnash/bitly)
当应用程序部署到Heroku时缩短URL时出错.局部缩短工作正常.
def get_short_url(url)
Bitly.use_api_version_3
bitly = Bitly.new(Settings.bitly.login, Settings.bitly.api_key)
result = bitly.shorten(url) ----------------- Line 3
result.short_url
end
Run Code Online (Sandbox Code Playgroud)
上面代码中的第3行给出了INVALID_URI - '500'错误.
我想缩短的网址是
"https://rs-4615.xyz.com/users/profile_view/20492083"
Run Code Online (Sandbox Code Playgroud)
当我使用bitly.com时,它会缩短.
我无法弄清楚这个问题.有人可以帮忙吗?
Shardul.
我用PHP构建了自己的Twitter应用程序,前端使用Twitter Bootstrap作为框架.
我想构建一个作曲家窗口,以便我的应用可以发布推文(或回复).它需要与bit.ly(以及可能的其他URL缩短器)集成.而不是重新发明轮子,有什么我可以使用,最好使用jQuery?
理想情况下......
我搜索过GitHub,似乎找不到任何东西.我也从Twitter 检查了twitter-text-js,但是虽然它有助于我想做的一些事情,但文档是荒谬的,过于复杂,并且没有与bitly集成.
有很多社交媒体应用程序具有我正在寻找的功能,但似乎没有任何示例代码是开源的并使用PHP/jQuery.
谢谢.
我希望能够http://bit.ly/thecakeisalie
通过他们的API 生成自定义bit.lys(输入内容).这似乎不可能,但我想我会检查; 有没有人碰巧知道呢?
我正在尝试实现这个 - https://gist.github.com/MendelGusmao/2356310 Lua,基于nginx的URL缩短器,我想要实现的唯一更改是当一些查询字符串参数带有缩短的URL时我需要获取该参数并插入长URL.
例如 http://google.com?test=2 会像http://abc.in/abc一样 点击http://abc.in/abc?test=3我会被重定向到 - http:// google .com?test = 3.
为此我需要从$ request_URI获取查询字符串参数,任何人都可以帮助一些代码吗?
我有兴趣创建像链接一样的小网址.我的想法是简单地为发布的每个长URL存储递增标识符,然后将此id转换为它的基本36变体,如下面的PHP中所示:
$tinyurl = base_convert($id, 10, 36)
Run Code Online (Sandbox Code Playgroud)
这里的问题是结果是可猜测的,虽然必须很难猜出下一个网址是什么,但仍然很短(很小).例如.如果我的最后一个小小的是a1,那么下一个将是a2.这对我来说是件坏事.
那么,我如何确保生成的小网址不是可猜测但仍然很短?
如果我有这样的一般网址(不限于推特或谷歌):
http://t.co/y4o14bI
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以检查这个网址是否缩短了?
在上面的例子中,我作为一个人当然可以看到它是短暂的,但是有一种自动而优雅的方式吗?