免A*敏*感*词*ey、免认证、Ajax跨域新浪微博API呢?

优采云 发布时间: 2021-05-03 20:22

  免A*敏*感*词*ey、免认证、Ajax跨域新浪微博API呢?

  新浪微博的官方API提供了多种调用方法来支持编程。归根结底,有两个:

  1.基于Oauth协议,使用Open API。 (%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E)

  2.使用微博JS-SDK()。

  官方方法似乎总是很麻烦。让我们讨论一下,我们可以使用非官方方法来调用没有A*敏*感*词*ey,身份验证和Ajax的Sina Weibo API吗?

  Web 2. 0时代,短链服务非常流行。新浪的短链服务域名是,这个域名确实很短,没有办法使它更短。

  打开新浪微博API的官方文档,对短链服务的描述如下:

  

  上面列出的方法调用都是相似的。让我们以第一种方法short_url / shorten为例。打开详细说明:

  

  让我们分析一下此描述:

  1.是否需要登录:否。这非常重要。由于无需登录,因此我们的“免认证”将可以正常工作。

  2.频率限制:是。这也很关键,这意味着如果我们遵循官方的方法,则拨打电话的数量将非常有限。

  3.支持格式:JSON。实际上,根据实验,新浪微博不仅支持JSON,还支持JSONP,但该文档没有告诉我们。这也很关键。由于使用JSONP,这意味着它可以轻松地跨域使用。

  4. URL :。实际上,这也是一个谎言。 HTTPS肯定会影响速度。经过实验后,仍然可以直接将HTTPS更改为HTTP。

  下一步,一个个地克服困难。

  一个,使用JQuery + JSONP进行跨域访问。

  参考文件:

  jQuery对JSONP非常友好,调用AJAX时只需指定dataType:jsonp。

  第二,频率限制的问题。

  由于不需要登录,因此可以绕过频率限制问题。因为A*敏*感*词*ey本身是半公开的。我们可以轻松地将Google A*敏*感*词*ey转到许多很棒的应用程序。

  例如:

  Iphone新浪微博客户端应用程序密钥:57867243301

  iPad新浪客户端应用程序密钥:2849184197

  Google.Nexus Wave客户端应用程序密钥:1206405345

  周伯通微博男管家App Key:202088835

  Weico App密钥:211160679

  上面列出的A*敏*感*词*eys来自具有大量用户的某些手机应用程序。它们的频率限制非常宽松,几乎可以理解为“不受限制”。为了解决频率限制问题,我们可以使用他们的A*敏*感*词*ey。

  此外:新浪微博API的频率限制具有两个维度,即服务IP维度和用户IP维度。 。这一点与本文无关,因为Javascript在客户端运行。但是如果要修改本文提到的方法并使用C#或其他高级语言在服务器端进行调用,则必须注意服务器IP维度。

  三、一个简单的实验。

  您现在可以直接在浏览器中访问此地址:

  ://

  它将显示在浏览器中

  {"urls":[

{"result":true,"url_short":"http://t.cn/h5FGy","url_long":"http://www.cnblogs.com","type":0}

]}

  通过访问上述的地址,您已经得到了http://www.cnblogs.com的段地址:http://t.cn/h5FGy

  注意我们使用的是http而非https,不需要使用https,上文已经提到了。

   

  四、最终代码示例

  最终代码的示例参考这里http://haotaoqu.com/item-45.html

  这个示例将一个又臭又长的*敏*感*词*URL地址转换为了新浪短地址。

  

  Javascript代码如下:

  <a title="复制代码">

</a>

$(document).ready(function(){

    var j=$("#urlText");

    var i=$("#goumai");

     $.ajax({ 

<p> //使用iPad新浪微博客户端的A*敏*感*词*ey

            url: 'http://api.weibo.com/2/short_url/shorten.json?source=2849184197&url_long='+i[0].href,  

            type: "GET",

            dataType: "jsonp", //使用JSONP方法进行AJAX

            cache: false,

            success: function (data) {

                j.val ( data.data.urls[0].url_short); //处理返回数据,显示到网页上 

                    });

                }});

});

<a title="复制代码">

</a>

</p>

  

  五、除了short_url / shorten以外,其他可以通过此方法调用的API

  可以通过本文中的流氓方法调用任何标记为“您是否需要登录:否”的接口。打开%E6%96%87%E6%A1%A3_V2正式文档,然后慢慢选择它〜

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线