长链接转短连接,本质重定向,前提有一个短域名。
前端用户发送请求生成短连接,服务端收到post请求,将长链接存入数据库,返回一个随机字符串拼接在短域名后面给用户,用户下次那个短连接来登录,发送get请求,服务端收到用户输入地址,拿着长链接到后端比较取到长链接地址并重定向。
requests高级用法:
1、SSL Cert Verification-->证书验证
#证书验证(大部分网站都是https)
import requests
respone=requests.get('https://www.12306.cn') #如果是ssl请求,首先检查证书是否合法,不合法则报错,程序终端
#改进1:去掉报错,但是会报警告
import requests
respone=requests.get('https://www.12306.cn',verify=False) #不验证证书,报警告,返回200
print(respone.status_code)
#改进2:去掉报错,并且去掉警报信息
import requests
from requests.packages import urllib3
urllib3.disable_warnings() #关闭警告
respone=requests.get('https://www.12306.cn',verify=False)
print(respone.status_code)
#改进3:加上证书
#很多网站都是https,但是不用证书也可以访问,大多数情况都是可以携带也可以不携带证书
#知乎\百度等都是可带可不带
#有硬性要求的,则必须带,比如对于定向的用户,拿到证书后才有权限访问某个特定网站
import requests
respone=requests.get('https://www.12306.cn',
# 指定证书路径,加上证书的key
cert=('/path/server.crt',
'/path/key'))
print(respone.status_code)
2、使用代理
官网链接: http://docs.python-requests.org/en/master/user/advanced/#proxies
代理设置:先发送请求给代理,然后由代理帮忙发送(封ip是常见的事情)
import requests
proxies={
'http&