调用新浪短地址转换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 ...
随机推荐
- JAVA - SpringBoot项目引用generator生成 Mybatis文件
JAVA - SpringBoot项目引用generator生成 Mybatis文件 在spring官网https://start.spring.io/自动生成springboot项目,这里选择项目 ...
- 这篇干货让你在零点前完成学术Essay写作
写论文,做研究,上课,参加课外活动,与他人social...在美国,你会有很多的事情需要你去做,如何将自己的时间平衡的分配到自己的学习生活以及私人生活中,就显得尤为重要,而这些问题也是影响中国学生的重 ...
- 开发者在行动-政府侧IT需求志愿者招募令(第一弹)
京东云与AI推出了[应急资源信息发布平台],在打通物资供需的同时,各地政府及公益组织可发布疫情信息化产品开发及运维服务的IT需求,如疫情防控统计.物资供需信息收集等IT管理.需求通过评审后平台将帮助发 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-qrcode
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- es6的...
es6的... (1):函数rest参数和扩展 sum1(...sum){//传多个参数 let total=0; for( ...
- BlackArch Linux 2019.06.01 宣布发布
导读 BlackArch Linux是一个基于Arch Linux的发行版,专为渗透测试人员和安全研究人员设计,并包含大量渗透测试和安全实用程序,已宣布发布2019.06.01版本. BlackArc ...
- Sublime Text与LaTeX的结合
1.通过Command Palette安装LaTeXTools 2.通过Command Palette查找LaTeXTools: Reconfigure and migrate settings,回车
- WindowsForm ComboBoxList 下拉框带复选框 可以动态添加
先来张效果图: 1.这里需要对控件进行重写,详细内容如下,对此不感兴趣的可以直接跳过这步,下载本人生成的dll,直接看第二小结,下载链接https://pan.baidu.com/s/1gfzrK5t ...
- swift 录音 AVAudioRecorder
2018年05月16日 15:22:44 msmwncx阅读数:548 https://blog.csdn.net/msmwncx/article/details/80336973 版权声明:本文为博 ...
- RGB转到HSV色彩空间转换
原文链接:https://blog.csdn.net/lsg19920625/article/details/78416649