我现在正在玩Javascript ......我正在缩小一些使用bit.ly来推特的URL,然后我开始考虑一个可以使用他们的API缩小我想要的URL的自动化流程,然后我看了他们的文档,我看到他们只支持PHP(有一些Javascript),但无论如何,我只能使用Javascript进行此操作?
我想把头发拉出来; 这是超级简单的,我有脑冻结或它不是那么简单.
当用户访问时,我试图使用firebase取消缩短缩短的URL:所以
myapp.firebaseappurl.com/url/SHORTENEDLINK
我不会让我添加缩短的URL
我希望输出为:
{
"url": "https://stackoverflow.com/questions/45420989/sphinx-search-how-to-use-an-empty-before-match-and-after-match"
}
Run Code Online (Sandbox Code Playgroud)
firebase.json
文件:
{
"hosting": {
"public": "public",
"rewrites": [ {
"source": "/url/:item",
"destination": "/url/:item"
} ]
}
}
Run Code Online (Sandbox Code Playgroud)
index.js
文件:
const functions = require('firebase-functions');
exports.url = functions.https.onRequest((requested, response) => {
var uri = requested.url;
request({
uri: uri,
followRedirect: true
},
function(err, httpResponse) {
if (err) {
return console.error(err);
}
response.send(httpResponse.headers.location || uri);
}
);
});
Run Code Online (Sandbox Code Playgroud)
当我去的时候,myapp.firebaseappurl.com/url/SHORTENEDLINK
我得到以下内容:
Error: could not handle the request
Run Code Online (Sandbox Code Playgroud) url-shortener node.js firebase firebase-hosting google-cloud-functions
我想知道301和307重定向之间的区别.
我希望通过home-brew url重定向器生成反向链接,我希望任何"链接汁"或"页面排名果汁"直接从原始页面流到最终URL,但如果其中一个原始的后台页面变坏了,我希望能够通过删除该特定页面的重定向链接来关闭该链接.合理?
我的理解是301是永久性的意思,谷歌将看到301并将其缓存的URL更新为最终目的地,无论我是否在以后杀死该重定向.
如果我使用307,它将不会缓存目标网址,并会继续检查重定向网址,以查看反向链接实际指向的位置,如果我取消重定向链接,Google将不会再将该链接分配给目标网址.
这是正确的总结吗?
url redirect url-shortener http-status-code-301 http-status-code-307
我有一个应用程序,生成网页作为数据URI.这些数据URI可能非常长.例如,我有一个页面,其数据URI长度为103,828个字符.关于应用程序的一切都有效,这没有问题,传递100,000个字符长的网址只是有点痛苦:P,所以我有一个疯狂的想法,试图使用URL缩短器来缩短这些URL.
好像有人写过这个:http://softwareas.com/the-url-shortener-as-a-cloud-database.作者提到了流行网址缩短服务的字符限制,最高似乎是微小的,大约65,000个字符.我只是想知道是否有人知道现有的解决方案/服务可以缩短这些长网址(超过100,000个字符)?
我很想实现自己的缩短器,但是如果存在允许这样做的东西,我想避免使用它.
在链接缩短程序和Ajax的时代,可能有许多链接最终指向相同的内容.我想知道什么是最好的方法来获得PHP的网站的最终,最好的链接,希望有一个库.我无法在Google或GitHub上找到任何内容.
我已经看过这个示例代码,但它不处理像rel ="canonical"元标记或默认ssl端口之类的东西:http://w-shadow.com/blog/2008/07/05/how-to-得到重定向的URL功能于PHP /
Facebook似乎很好地处理了这个问题,你可以看到他们如何遵循301和rel ="canonical"等.要查看Facebook处理它的方式示例,请使用他们的Open Graph工具:
https://developers.facebook.com/tools/debug
并输入以下链接:
http://dlvr.it/xxb0W
https://twitter.com/#!/twitter/statuses/136946408275193856
是否有一个已经预先构建的PHP库,它将检查这些头,解析301重定向,解析rel ="canonical",检测重定向循环并正确抓取最佳结果URL使用?
作为替代方案,我对可以使用的API持开放态度,但更喜欢在我自己的服务器上运行的东西.
我正在创建一个链接缩短服务,我正在使用增量ID字段的base64编码/解码来创建我的URL.ID为"6"的网址为:http://mysite.com/Ng==
我还需要允许用户创建自定义网址名称,例如http://mysite.com/music
到目前为止,这是我的(可能是错误的)方法.帮助修复它将不胜感激.
当有人创建新链接时:
当有人创建新链接并传递自定义短网址时:
有没有更好的编码方法,可以让我把任何数量成短字符串,任何字符串转换成一个数字,这样我就可以随时查找短网址(无论是定制还是自动生成的)转动名字变成一个号码,查询链接ID等于那个数字?
任何人都可以推荐一个首选算法用于URL缩短?我正在使用PHP进行编码.最初我想过写一些东西,从一个字符开始,如"a",并迭代请求,在数据库中创建记录,因此必须将字符增加到b,c,d ...... A,B等等适当.
然而,我突然意识到这个算法可能非常沉重/笨拙,可能有更好的方法.
我在Google上阅读了一些内容,有些人似乎是通过数据库的ID列进行基本转换.这不是我太熟悉的事情.
有人可以详细说明并告诉我这是如何工作的吗?一些代码示例也很棒.
我显然不想要一个完整的解决方案,因为我想通过自己动手学习,但只是一个关于如何工作的解释/伪代码将是非常好的.
你知道任何URL过滤器过滤掉丑陋的坏词吗?
例如,当goo.gl(或任何其他URL缩短器)生成短URL时,它是否会跳过像goo.gl/evil
或goo.gl/YouDie
或goo.gl/f__k
(没有省略两个字符)的URL ?
我想,过滤掉坏词会很复杂,因为很多语言都使用拉丁字母,过滤掉所有语言中的所有坏词真的可行吗?
在我的Webapp中,我生成GUID,但只包括数字和辅音以及音乐u
,y
以免产生任何坏词(或者我希望如此).但是,Google的短网址似乎包含所有元音.
更新:几个星期前,我问Bitly他们是否删除了"丑陋"的字样:他们没有.我还在Google的URL缩短邮件列表中询问,如果该URL缩短器删除了"丑陋"的单词; 到目前为止没有回应.
要求:
我们在DB中有值
Chennai
Baroda
Bangalore
New Delhi
São Paulo, Lisboa
San Jose
Run Code Online (Sandbox Code Playgroud)
等等...
所以我想将这些字符串转换为唯一的短字符串.例如
Chennai –> xy67kr
San Jose –> iuj73d
Run Code Online (Sandbox Code Playgroud)
基本上类似于URL缩短.
并且转换它的算法应该是可逆的.即,当我将"xy67kr"传递给解码函数时,它应该给我"Chennai".
期待着寻求帮助.
我有一个使用google url shortener API的WPF(.NET 4)项目,我已经通过nugget安装了客户端库https://www.nuget.org/packages/Google.Apis.Urlshortener.v1/1.7.0.25-beta
该应用程序在Visual Studio中工作正常,但一旦发布就抛出异常无法加载文件或程序集System.Threading.Tasks,Version = 2.5.19.0这个以及所有其他程序集都存在于安装文件夹中,并且它随应用程序一起发布.我搜索了互联网,人们建议手动绑定app.config中的依赖库,它仍然不起作用,因为app.config中已经提到了我的所有依赖库,下面是我的app.config的样子
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.5.19.0" newVersion="2.5.19.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.1.10.0" newVersion="2.1.10.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.1.10.0" newVersion="2.1.10.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.13.0" newVersion="1.2.13.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Threading.Tasks.Extensions.Desktop" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.165.0" newVersion="1.0.165.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
Run Code Online (Sandbox Code Playgroud)