jsonp 是为了解决跨域问题而诞生出的解决方案。在现代浏览器中,除了src等特殊标签可以允许跨域,其他时候都不允许跨域访问。为了解决这个问题,jsonp诞生了。
其原理主要是 向服务端传递一个一个callback 方法,以及其他请求参数。服务端接受到请求之后,收集对应参数所需要的数据,并加上之前传过来的callback 方法名 ,包装成一个内容为 js文件的响应。客户端再对这个伪js方法进行解析。
示例:
以 http://www.neeq.com.cn/zone/newshare/listofissues.html 为例
其 数据获得接口为 http://www.neeq.com.cn/newShareController/infoResult.do?callback=jQuery211_1592489332270
其中 最后的159开头的即为13位时间戳。
在浏览器中,其显示为post请求。这里我们先copy下整个headers
再看formdata表单,看起来也很正常
我们也复制下来 。接下来我们使用requests 包模拟一下这个请求
#! /usr/bin/env python