标签: url-shortener

Twitter害怕我冗长的网址 - 要缩短它![C#]

我有一个网站,每次我们的一个客户评论一个新产品,它会自动发送到公司的Twitter帐户.

对于实际的推文,我直接使用twitter api,没有任何包装类和库.它的工作正常,但是,当帖子太冗长时,它不会被推特,因为twitter只有140个字符限制(我的宝贝侄子可以处理更多的字符!)

那么缩短网址如bit.ly或tinyurl的最佳方法是什么?他们提供了一些api的.net用户吗?或者Twitter有一些网址缩短服务?

我本可以做一些关于它的事情,但我真正想要的是专家意见,在这样的情况下做什么是最好的事情.

ps:这里有几个密切相关的问题,但没有什么比我的情况更接近了.

.net twitter url-shortener

4
推荐指数
1
解决办法
687
查看次数

goo.gl支持多少个唯一的URL?

有多少URL可以支持?当前填满的速度是多少?我可以看到它使用小字母和大字母和数字创建了唯一的URL.这使得它的容量为(26*2 + 10)^ 5,这个估计是正确的.

url-shortener goo.gl google-url-shortener

4
推荐指数
1
解决办法
533
查看次数

什么是URL缩短服务的商业模式,如bit.ly和tinurl?

URL缩短服务如何获得?他们是否在一段时间内获得资金,然后提出算法,然后提出类别特定的趋势热门URL或什么?对此有何见解?

url url-shortener

3
推荐指数
1
解决办法
2653
查看次数

用于检查 URL 是否为短 URL 的正则表达式 / php 代码

我正在尝试创建一个 php 函数,它将检查传递的 URL 是否是一个短 URL。像这样的东西:

/**
 * Check if a URL is a short URL
 *
 * @param string $url
 * return bool
 */
function _is_short_url($url){
    // Code goes here
}
Run Code Online (Sandbox Code Playgroud)

我知道更简单且可靠的方法是检查 301 重定向,但此功能旨在保存仅用于检查的外部请求。该函数也不应该检查 URL 短列表,因为这将是一种可扩展性较差的方法。

所以我在想一些可能的检查:

  1. URL 总长度 - 最多 30 个字符
  2. 最后一个“/”之后的 URL 长度 - 最多 10 个字符
  3. 协议 (http://) 后的“/”数量 - 最多 2
  4. 主机最大长度

关于可能的方法或更详尽的清单有什么想法吗?

编辑:此功能只是尝试保存外部请求,因此可以为非短网址(但真正的短网址)返回 true。通过此功能后,我无论如何都会通过检查 301 重定向来扩展所有短 URL。这只是为了消除明显的。

php regex url-shortener

3
推荐指数
1
解决办法
2705
查看次数

gapi.client.load无法正常工作

我有以下代码,这应该是使用google api javascript客户端的简单示例,并且只显示硬编码缩短URL的长格式URL:

<script>
  function appendResults(text) {
    var results = document.getElementById('results');
    results.appendChild(document.createElement('P'));
    results.appendChild(document.createTextNode(text));
  }

  function makeRequest() {

    console.log('Inside makeRequest');

    var request = gapi.client.urlshortener.url.get({
      'shortUrl': 'http://goo.gl/fbsS'
    });

    request.execute(function(response) {
      appendResults(response.longUrl);
    });
  }

  function load() {

    gapi.client.setApiKey('API_KEY');
    console.log('After attempting to set API key');
    gapi.client.load('urlshortener', 'v1', makeRequest);
    console.log('After attempting to load urlshortener');
  }
</script>
<script src="https://apis.google.com/js/client.js?onload=load"></script>
Run Code Online (Sandbox Code Playgroud)

除了使用实际的API密钥而不是文本"API_KEY".

控制台输出简单:

尝试设置API密钥后

尝试加载urlshortener后

但我从来没有看到'inside makeRequest',它位于makeRequest函数内部,这是调用gapi.client.load的回调函数,让我相信函数无法正常工作(或者无法完成).

任何人都可以阐明为什么会这样,以及如何解决它?

提前致谢.

javascript google-api url-shortener google-url-shortener google-api-client

3
推荐指数
2
解决办法
6159
查看次数

我应该使用哪种 NoSQL 数据库作为 URL 缩短器?

我正在为大学做一个项目,那就是构建一个 URL 缩短器。我研究了不同类型的 NoSQL 数据库,但我不知道哪种更适合我的目的以及原因。

我可以在键/值数据库、面向文档、面向列或图形之间进行选择。我确信该图不利于我的目标。

请问您有什么建议吗?

key-value column-oriented nosql url-shortener document-oriented

3
推荐指数
1
解决办法
2919
查看次数

有没有"简单"的方法来使用javascript实现URL缩短?

我正在尝试找到任何可以帮助我缩短网址的JavaScript代码(也可以将其解码).我无法使用任何现有服务,因为我正在开发一个不允许外部连接的电子邮件软件.

我将非常感谢你的帮助.

非常感谢.

AAC

javascript url-shortener

2
推荐指数
1
解决办法
337
查看次数

谷歌网址缩短不起作用

嗨,我正在制作一个应用程序,用户可以发送卡给其他用户,但当我点击发送我正在尝试使用网址缩短发送链接但我的网址缩短是不工作它总是显示错误消息网址缩短失败我做了一些关于SO的研究,但没有得到一个正确的解决方案我知道有些不对,但不知道哪个部分不正确下面是我的代码缩短网址

 public void getShortenedUrl(String url, final int sendType){
            try {
                if (NetworkInfo.isNetworkAvailable(getActivity())) {
                    final boolean isMyCard=getArguments().getBoolean("isMyCard");
                    final String sharedTo=ceShareVia.getText().toString();
                    final String[] addresses = sharedTo.split(",");
                    LongUrl data = new LongUrl(url);
                    Call<LongUrl> cardResponseCall = ApiClientMain.getApiClient("https://www.googleapis.com/urlshortener/v1/")
                            .getShortenedUrl("application/json",ApplicationData.GOOGLE_URL_SHORTENER_KEY, data);
                    pbShare.setVisibility(View.VISIBLE);
                    cardResponseCall.enqueue(new retrofit2.Callback<LongUrl>() {
                        @Override
                        public void onResponse(Call<LongUrl> call, Response<LongUrl> response) {
                            pbShare.setVisibility(View.GONE);
                            if (response != null && response.body() != null) {
                                String url = response.body().getId();
                                String message;
                                if(isMyCard) {
                                     message = "Hello," + "\n"
                                            + "Thanks for connecting!\n\n" + introMessage + "\n\n" + url …
Run Code Online (Sandbox Code Playgroud)

java android url-shortener google-url-shortener

2
推荐指数
1
解决办法
1226
查看次数

如何从缩短的抖音 URL 中提取用户帐户名和视频 ID?

我正在尝试从缩短的 URL 中获取 tiktok 视频的 URL,以便提取海报的@用户名和帖子的视频 ID。我遇到的一些缩短 URL 的示例似乎是 Facebook/Twitter 上以“m.tiktok.com”或更具体地说“https://vm.tiktok.com/pF6GGf/”形式共享的 URL。该链接最终重定向到“https://www.tiktok.com/@blessy2flex/video/6796374554391448838...”。有什么方法可以仅使用缩短的 URL 来获取此 URL?

我希望能够从实际 URL 中显示的缩短的 URL 中获取用户名 (@blessy2flex) 和视频 ID (6796374554391448838)。我尝试过跟踪重定向,但最终得到的网址是“https://m.tiktok.com/v/6833793010149412101.html...”,这显然不一样。

我也尝试过像 Selenium 这样的东西,它实际上最终给了我原始视频页面的 HTML,在其中我可以通过搜索实际的 HTML 来找到用户名和视频 id,但这种方法似乎不太可扩展因为我确信抖音会注意到并减慢我的进程。

python url-shortener web-scraping

2
推荐指数
1
解决办法
9070
查看次数

AWS IAM - 从 Lambda 到 DynamoDB 的访问被拒绝

我正在按照Medium.com 上的教程使用 AWS 创建 URL 缩短器。

我已经设置了整个过程,但在进行第一次测试时,我在尝试从 Lambda 获取 DynamoDB 项目时遇到权限错误。

如教程中所述,Lambda 在某个角色下运行。该角色附加了下一个策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "dynamodb:PutItem",
                "dynamodb:DeleteItem",
                "dynamodb:GetItem",
                "dynamodb:Query",
                "dynamodb:UpdateItem"
            ],
            "Resource": "arn:aws:dynamodb:eu-west-3:922842442607:table/lambda-dynamodb-url-shortener"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但是,正如我之前所说,我收到此错误:

[ERROR] ClientError: An error occurred (AccessDeniedException) when calling the GetItem operation: User: arn:aws:sts::***:assumed-role/lambda-dynamodb-url-shortener-role/url-shortener-create is not authorized to perform: dynamodb:GetItem on resource: arn:aws:dynamodb:eu-west-3:***:table/url-shortener-table
Run Code Online (Sandbox Code Playgroud)

当我检查 IAM 策略模拟器时,我可以看到该角色具有上述策略:

在此输入图像描述

但是,正如预期的错误一样,我在尝试使用以下角色模拟对 DynamoDB 的访问时收到此错误:

在此输入图像描述

有什么线索吗?:(

amazon-web-services url-shortener iaas amazon-dynamodb aws-lambda

2
推荐指数
1
解决办法
3387
查看次数