公司最近需要进行短信推广,需要发送大批量带有连接地址的短信给用户,并且需要统计短信的点击量。因为需要考虑短信成本问题,需要将长连接地址生成比较短的连接。因为公司本身没有短的一级域名,所以考虑到使用第三方的短连接生成器。经过对比选择了新浪短连接生成器。

新浪接口文档地址: http://open.weibo.com/wiki/Short_url/shorten

新浪提供了xml和json两种格式进行生成短连接,这里使用的是json。

下面是请求的代码

public class ShortUrlHelper
{public class sina_short_url{public string url_short { get; set; }public string url_long { get; set; }public int type { get; set; }}/// <summary>/// 新浪转换短链接/// </summary>/// <param name="url"></param>/// <returns></returns>public static string Convert_SINA_Short_Url(string url){if (string.IsNullOrWhiteSpace(url)){return "";}//api地址var address = "http://api.t.sina.com.cn/short_url/shorten.json?source=2815391962";address += "&url_long=" + HttpUtility.UrlEncode(url);//http请求var json = RequestHelper.Request(address);//json转换var urls = JsonHelper.Deserialize<List<sina_short_url>>(json);if (urls != null && urls.Count > 0){return urls[0].url_short;}return "";}/// <summary>/// 新浪转换短链接-批量/// </summary>/// <param name="url"></param>/// <returns></returns>public static List<sina_short_url> Convert_SINA_Short_Url_ByUrlList(List<string> urlList){if (urlList.Count > 20){throw new Exception("最大支持20个url转换");}var address = "http://api.t.sina.com.cn/short_url/shorten.json?source=2815391962";foreach (var url in urlList){address += "&url_long=" + HttpUtility.UrlEncode(url);}var json = RequestHelper.Request(address);var urls = JsonHelper.Deserialize<List<sina_short_url>>(json);return urls;}
}

注意事项:

  因为新浪接口在生成短连接的时候,会在生成同时调用一次连接的情况(在使用过程中也出现过在一段时间后这些短连接被同一系列的IP地址进行访问)。这样会影响到接口点击量统计。需要在连接响应地址上做一定的处理。对比了请求Request发现请求中的User-Agent和正常浏览器请求是不一致的。暂时我就是使用Request.Headers["User-Agent"]的值进行判断。

使用新浪API生成短连接相关推荐

  1. PHP调用新浪API 生成短链接

    我们经常收到类似于这样的短信(如下图),发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实 ...

  2. api.php t.cn,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解

    本文实例讲述了PHP通过调用新浪API生成t.cn格式短网址链接的方法.分享给大家供大家参考,具体如下: 新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接. A ...

  3. php短链接api,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解

    本文实例讲述了PHP通过调用新浪API生成t.cn格式短网址链接的方法.分享给大家供大家参考,具体如下: 新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接. A ...

  4. 利用新浪API实现短网址生成

    新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接. API有两种格式: http://api.t.sina.com.cn/short_url/shorten.j ...

  5. java 新浪短链接_java生成短连接(调用新浪微博api生成)

    java生成短连接 主要利用新浪微博提供的api生成 import java.io.IOException; import java.util.UUID; import com.alibaba.fas ...

  6. 利用新浪API批量生成t.cn 短链接的接口有哪些?

    新浪提供了长链接转为短链接的API,可以把长链接转为t.cn/xxx这种格式的短链接.短链接对于一些商家来说使用价值非常大,故整理了6个较为好用的t.cn短链接批量生成接口. 1.快鸟短网址 随着移动 ...

  7. java 新浪短链接_新浪(t.cn)短网址链接生成api接口

    最新的新浪(t.cn)短网址生成api接口,快速生成t.cn超短链接,接口可以正常调用,觉得不错可以收藏一下. 新浪短网址api接口: 使用说明: 将api接口地址中 "http://www ...

  8. php新浪api,php调用新浪短链接API的方法,php调用新浪api_PHP教程

    php调用新浪短链接API的方法,php调用新浪api 本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: //Sina App_Key def ...

  9. 基于新浪微博API生成短链接的几款在线工具

    需求背景 很多人在营销推广中都要使用到短链接,新浪短链接则是大家最先接触到的,服务也很稳定,所以需求量也很大.据不完全统计,大概每天有几十亿条t.cn短链接生成.如此巨大的数量,难道都是先登录新浪微博 ...

  10. 利用新浪API实现数据的抓取\微博数据爬取\微博爬虫 1

    PS:(本人长期出售超大量微博数据.旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com.由于微博接口更新后限制增大,这个代码已经不能用来爬 ...

最新文章

  1. 面向对象之数值的悲剧(8月28日会议有感)
  2. 一个想法不一定对 系列
  3. telnet ip 端口
  4. 数据源 连接oracle
  5. 临时表和内存表的区别
  6. 加载gif_搞笑gif:这啥情况啊?笑容加载不出来了?
  7. python dataframe转置_Dataframe数据的增删改查,对齐(相加),转置,按值(索引)排序
  8. android 常用命令随手记
  9. Unity 项目 - Ruby‘s Adventure 学习笔记
  10. c语言考试常考大题,C语言题库经典题 考试常考题.doc
  11. 基于机器视觉的冲压金属瓶质量检测
  12. 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n。如果输入的是奇数调用1/1+1/3+...+1/n;...
  13. 【2014-08-23】Beyong Coding
  14. 一文详解SLAM回环及优化
  15. mysql 解压版安装教程
  16. vue动态面包屑导航
  17. 英文文本分类实战总结
  18. 品达物流TMS项目_第6章 数据聚合服务开发(pd-aggregation)
  19. 齐博x1 换服务器如何转移网站
  20. 在线考试的兴起,指引了线上考试服务平台发展的新趋势!

热门文章

  1. 这几款手机安全浏览器,好用不止一点点
  2. IDEA 错误: 找不到或无法加载主类 com.Main
  3. 如何在单片机中用汇编优雅的点灯
  4. C语言实现1/1-1/2+1/3-...-1/100求和
  5. chrome下载的word等文档解除锁定的方法
  6. java 计算周_java学期周数的计算,求算法
  7. linux通过ip查询域名,无法通过ip地址查找对应的域名
  8. texstudio语法检查
  9. 用命令从FTP服务器下载文件
  10. 炒鞋风潮下的“真鞋”鉴定生意