调用新浪短地址转换api的一个测试
import base64
import requests url="http://www.~~~~.com" headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) \
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
}
params={} def convert_to_bs64(url):
bs64_url=base64.b64encode(url.encode("utf-8"))
bs64_url=str(bs64_url,"utf-8")
#print(bs64_url)
return bs64_url def get_short_url():
#获得使用转化功能需要的cookies
r=requests.get(url="http://dwz.wailian.work/",headers=headers)
cookies=requests.utils.dict_from_cookiejar(r.cookies) #调用api获得返回
bs64_url=convert_to_bs64(url)
params.update({"from":"w","url":bs64_url,"site":"1t.click"})
res=requests.get(url="http://dwz.wailian.work/api.php",\
headers=headers,cookies=cookies,params=params)
#从返回中提取短地址
print(res.text) def main():
get_short_url() if __name__=="__main__":
main() #>>str={"result":"ok","data":{"short_url":"http:\/\/1t.click\/s6v","title":"\u641c\u72d7\u5ba0\u7269\u5929\u4e0b - \u7231\u5ba0\u7269,\u7231\u751f\u6d3b"}}
上面代码是长转短,短转长也是一样,起码,在有cookies的情况下,浏览器输入http://dwz.wailian.work/api.php?url=aHR0cDovL3QuY24vRTlFV3J1SA==&action=restore也是可以返回结果的
ps:这个可真是花了我一点时间呢。使用requests函数,参数headers要填写cookies,这个cookies用前一个页面的cookies也是可以(我最早以为只要检查登录状态才有cookies,没想到...)
另外一个是parmas字典,要设置一个url键-值,这个值是从原始要查询的url转换过来的,我开始还以为是个md5,研究了一波md5加密解密之后,发现原来是个base64
另外,网上有关于新浪长地址转短地址算法,大概是md5之后再进行一些数值运算,但那算法是怎么来的,并不明白。而从短地址转长地址,用算法逆推就几乎是不可能的了
调用新浪短地址转换api的一个测试的更多相关文章
- 新浪短网址最新api接口
1,雨林短网址 网站链接:http://yldwz.cn 雨林短网址采用新浪.腾讯官方API接口,强大的多功能API,简单易用,质量高官 网提供强技术支持,99.9% SLA服务稳定安全可靠的校验机制 ...
- Python如何调用新浪api接口的问题
前言:这些天在研究如何调用新浪开放平台的api分析新浪微博用户的数据 成果:成功调用了新浪api获取了用户的一些个人信息和无数条公共微博 不足:新浪开放平台访问有限制,返回的数据着实有限,不足以分析问 ...
- 新浪ip地址转换接口
通过IP地址获取对应的地区信息通常有两种方法:1)自己写程序,解析IP对应的地区信息,需要数据库.2)根据第三方提供的API查询获取地区信息. 第一种方法,参见文本<通过纯真IP数据库获取IP地 ...
- php调用新浪API生成t.cn短网址链接
新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接. API: http://api.t.sina.com.cn/short_url/shorten.json ( ...
- 新浪短链接API接口示例
<?php /** * URL地址长短切换,由sina新浪短链接API生成 * User: chenqt * Date: 2016/8/23 * Time: 18:45 */ class Url ...
- 使用JAVA实现模拟登陆并发送新浪微博(非调用新浪API)
没有调用新浪的API,在程序中加入自己的帐号和密码就能发送微博,代码完全在后台运行,不用打开浏览器. 用了HtmlUnit这个库来模拟登录还有发送微博. 先上效果图: 这个是刚登陆上获取第一页的信息. ...
- PHP调用新浪API 生成短链接
我们经常收到类似于这样的短信(如下图),发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实 ...
- Sina 新浪Ip归属地Api 很好用的,使用get请求
前言 这几天做了一个客服管理系统,需要根据游客的Ip获取他的归属地,刚开始使用了,www.ip138.com 抓取ip归属地,用这还可以,但是不显示国家:于是是找了这个新浪的Api,很不错啊 用法 1 ...
- 新浪 ip 地址库
API地址:http://int.dpool.sina.com.cn/iplookup/iplookup.php 帮助 1 2 3 4 5 6 7 8 function get_location($i ...
随机推荐
- AFNetworking实现表单(multipart)形式上传图片
最近遇到个问题,就是上传图片到服务器,后台说用表单形式... 由于没弄过这种上传,所以搜了大堆资料,但也没解决问题. 最后通过请教一位大神才得以解决这个简单的问题... 现在将此方法做个笔记... & ...
- 打开文件管理器Device File Explorer
版本Android Studio3.2
- 实验吧-杂项-flag.xls(notepad++查找)、保险箱(linux文件分解、密码破解)
flag.xls 下载文件,用notepad++打开,查找flag就能找到flag. 保险箱(linux文件分解.密码破解) 将图片保存下来,用kali的binwalk分析,发现有rar文件,然后用f ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 模板
模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码. 模板是创建泛型类或函数的蓝图或公式.库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念. 每个容器都有一个单 ...
- Java JDK for Windows
目录 JDK简介下载安装配置JAVA_HOME和Path测试禁止Java自动更新(可选操作) JDK简介 JDK是Java语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK ...
- 【剑指Offer】面试题52. 两个链表的第一个公共节点
题目 输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB ...
- 每天一点点之vue框架开发 - History 模式下线上路由报404错误
vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不想要很丑的 hash,我们可以用路由的 his ...
- TX2超详细,超实用刷机教程(亲测有效,所有步骤都是博主亲自实践过)
https://blog.csdn.net/DeepWolf/article/details/88640937 本篇主要对TX2刷机流程以及刷机过程中遇到的坑和相应的解决办法做个记录,以便再次刷机时能 ...
- sql拆分列 时间拆分 日、月、年
我想 查看今日访问人数 需要分组查询 就得 时间拆分 这两天百度 方法有很多 substring ... 但是 我这一列 是时间类型: 可以直接用 DATEPART() 函数用于返回日期/时间的单独部 ...
- 用Python分析淘宝2000款避孕套,得出这些有趣的结论
数据分析之前我们需要清楚的知道自己想要分析什么东西,也就是先搞清楚我们的目标.在公司可能是公司财报.用户增量变化.产品受欢迎程度.一些报表等等. 那我们今天的目标有哪些呢?我们来看看: ! 分析避孕套 ...