网站首页 > java教程 正文
简要描述
短网址,顾名思义就是一种较短域名加动态参数组成的短地址,类似于t.cn/xxxx,url.cn/xxx。是由各大平台诸如新浪、腾讯、百度发布的短网址接口将长网址转换而来的。
应用场景
短网址的应用场景很广,譬如短信营销、邮件推广、微信营销、QQ营销、自媒体推广、渠道推广等,都会用到短网址。究其原因是在于短网址可以降低推广成本、用户记忆成本,提高用户点击率;在特定的场景下推广还能规避关键词,防止域名被拦截,隐藏真实地址等。
短网址生成接口
1、新浪最新官方接口
http://lnurl.cn/tcn-api.json?key=hd3j2ryt&url=http://www.baidu.com
2、腾讯最新官方接口
http://lnurl.cn/url-api.json?key=a1yl3piu&url=http://www.baidu.com
接口文档
1、请求方式
- POST
2、请求参数
参数
必选
类型
说明
key
是
string
注册登录获取
3、参数说明
上文提到的接口API是官方发布的公开接口,均可以直接使用,无需获取授权Key。但有请求次数限制,超出限制,接口会返回“user dose not have resource to register long term short url”。
无限制接口是需要注册获取授权Key,Key是请求接口时用来鉴别企业或者个人的唯一身份。用来做鉴权使用,请勿随意泄露。
4、请求说明
① 在线使用
只需将 “http://www.baidu.com” 换成需要缩短的长网址(要带http(s)://),然后复制整串链接前往浏览器打开即可生成。
② 请求接口
请求接口自动生成,需要接入程序中,PHP、Java、Python相关请求示例如下。
5、请求示例
PHP请求示例:
$url = 'http://www.baidu.com';
$api_url = 'http://lnurl.cn/tcn-api.json?key=hd3j2ryt&url=http://www.baidu.com;
$short_url = file_get_contents($api_url);
echo $short_url;
Java请求示例:
public static void main(String path[]) throws Exception {
URL u = new URL("http://lnurl.cn/tcn-api.json?key=hd3j2ryt&url=http://www.baidu.com");
InputStream in = u.openStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
byte buf[] = new byte[1024];
int read = 0;
while ((read = in .read(buf)) > 0) {
out.write(buf, 0, read);
}
} finally {
if ( in != null) {
in .close();
}
}
byte b[] = out.toByteArray();
System.out.println(new String(b, "utf-8"));
}
Python请求示例:
import urllib, urllib2, sys
host = 'http://lnurl.cn'
path = '/tcn-api.json?key=hd3j2ryt'
method = 'GET'
querys = 'link=http%3A%2F%2Fwww.baidu.com'
bodys = {}
url = host + path + '?' + querys
request = urllib2.Request(url)
response = urllib2.urlopen(request)
content = response.read()
if (content):
print(content)
补充说明:
1、请求接口时,需做urlencode处理,否则可能会导致参数丢失,短网址失败等。
2、请求接口的长网址必须要以http(s)://开头。
3、接口请求频率不能太快,正常1次/s。
常见问题:
1、长网址转换后,为什么参数丢失了?
答:因为没有做urlencode处理,导致某些特殊字符没有识别到。需要将url编码后再请求接口。
2、请求接口为什么没有返回结果?
答:有些时候接口返回数据有延迟,就会导致超时未返回。或者是因为原链接被封了。
3、生成的短网址有效期是多久?有没有访问次数限制?
答:共享接口生成的短网址是有有效期的,正式版的接口生成的所有短网址都是永久有效的。
4、短网址有没有访问限制?
此接口为新浪和腾讯官方接口,是不限制访问次数的,可以放心使用。
猜你喜欢
- 2025-05-02 dify案例分享-API文档生成接口代码
- 2025-05-02 从 0 到 1 实战 Spring Boot 3:手把手教你构建高效 RESTful 接口
- 2025-05-02 原来大牛们口中的接口Mock测试是长这样的,今天我终于搞懂了
- 2025-05-02 什么是函数式接口?(函数式接口使用场景)
- 2025-05-02 请求合并的三种方式,大大提高接口性能
- 2025-05-02 dify案例:dify导入本地Java接口作为function call工具
- 2025-05-02 【开源推荐】PhalApi2.13(致敬版) 发布,PHP 轻量级开源接口框架
- 2025-05-02 Java:在Java中使用私有接口方法(java中如何调用私有成员变量)
- 2025-05-02 Java接口与抽象类:核心区别、使用场景与最佳实践
- 2025-05-02 实现AI API Tokens计费产品方案和Java技术实现设计(含源码分享)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)