网页手机号抓取程序(小程序加载网页的代码访问的地址是直接动态传 )

优采云 发布时间: 2022-04-04 22:12

  网页手机号抓取程序(小程序加载网页的代码访问的地址是直接动态传

)

  场景描述:

  小程序 webview 加载 abc.html。在html中获取用户信息,为什么要这样做?因为小程序的授权是利用小程序的原生能力开发的,数据存储在小程序中,所以abc页面设计成html写的简单,框架限制较少,但是因为没有账号关系两者之间,数据无法根据用户提供,因此两者之间需要数据共享。

  首先webview是如何获取微信小程序缓存的?

  这里所说的缓存是localStorage等本地缓存。这是微信小程序里写的

  wx.setStorageSync("userinfo","myinfo")

  这是网页上写的

  localStorage.setItem("userinfo","myinfo");

  那么我们能否实现它们之间的数据互操作呢?

  无论如何,我没有找到API。在Android开发中,webview可以自己控制。可以通过js调用java代码,也可以通过java调用js代码实现参数传递,但是我在微信小程序中没有找到相关接口,所以根据我个人掌握的资料,这条路不通,那里有知道的朋友在评论区,不胜感激。

  既然这条路行不通,那我们如何实现webview加载的页面获取小程序本地缓存数据呢?

  没错,url是动态传值的。下面是小程序加载网页的代码。

  那么我们为什么不直接写如下呢?

  注意两段代码的区别

  第一次访问的地址是直接动态传递过去的

  第二段只动态拼接参数

  我尝试了第二个,但无法接收页面。我认为这可能与小程序的页面加载生命周期有关。

  那么第一个我们动态设置url参数的代码如下:

  onLoad() {

this.setData({

userInfo:wx.getStorageSync('userinfo'),

url:"https://www.baidu.com/abc.html?_t=1&user="+wx.getStorageSync('myuserinfo').phone,

})

}

  网页值代码如下:

  alert(JSON.parse((getQueryString("user"))))

//根据参数名获取url问号携带参数值

function getQueryString(name) {

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");

var r = window.location.search.substr(1).match(reg);

if (r != null) return unescape(r[2]);

return null;

}

  达到效果

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线