微信分享链接带图片文字和描述

微信最近推出的一个社交工具网站 www.faxinxi.la ,能发投票、活动、文章。

但在微信外的浏览器包括PC端和移动端的都无法浏览这个网站任何内容,那是通过什么来控制的呢?通过微信内输出特定JS接口不太可能,那就只能通过Header信息里的User-agent了,实验后证实没错,通过探测可以知道微信内的User-agent信息:

Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1

就是通过识别MicroMessenger这个关键字来确定是否来自微信,通过浏览器的user-agent插件就可以轻松绕过这个限制。

接下来就可以轻松获得www.faxinxi.la的网页源码,其实这不是一个微信官方的应用,服务端是用ASP.NET写的,而且是IIS服务器,有没有注入漏洞就不知道了,不过注入了也没什么实际价值,呵呵。

为什么要挖掘他的网页源码呢,这才是关键。譬如你发一个投票,网址是http://www.faxinxila.com/post/vote, 但你填完所有信息按提交后,网页地址并没有发生跳转,而是ajax提交信息后弹出一个遮罩层,提示你点右上角的分享按钮,注意,点分享前网址一直保持在/post/vote路径,但点开分享里的信息已经发生了变化,分享出去后,网址也发生了变化,变成了/vote/3投票实际的展示路径。 这是怎么做到的呢?

查看faxinxi里唯一js文件,你会发现一个WeixinJSBridge的输出对象,再对比下通过微信公众平台发出来的文章源文件,也有WeixinJSBridge对象脚本,问题迎刃而解,微信在内嵌webview里输出了WeixinJSBridge对象供web端js调用。faxinxi已经将有用的js提取出来了,详细脚本如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

var dataForWeixin={

   appId:"",

   MsgImg:"http://img1.faxinxila.net/images/share_msg.png",

   TLImg:"http://img1.faxinxila.net/images/share.png",

   url:"http://faxinxi.la/vote/1",

   title:"input title here",

   desc:"input description here",

   fakeid:"",

   callback:function(){}

};

(function(){

   var onBridgeReady=function(){

   WeixinJSBridge.on(‘menu:share:appmessage‘, function(argv){

      WeixinJSBridge.invoke(‘sendAppMessage‘,{

         "appid":dataForWeixin.appId,

         "img_url":dataForWeixin.MsgImg,

         "img_width":"120",

         "img_height":"120",

         "link":dataForWeixin.url,

         "desc":dataForWeixin.desc,

         "title":dataForWeixin.title

      }, function(res){(dataForWeixin.callback)();});

   });

   WeixinJSBridge.on(‘menu:share:timeline‘, function(argv){

      (dataForWeixin.callback)();

      WeixinJSBridge.invoke(‘shareTimeline‘,{

         "img_url":dataForWeixin.TLImg,

         "img_width":"120",

         "img_height":"120",

         "link":dataForWeixin.url,

         "desc":dataForWeixin.desc,

         "title":dataForWeixin.title

      }, function(res){});

   });

   WeixinJSBridge.on(‘menu:share:weibo‘, function(argv){

      WeixinJSBridge.invoke(‘shareWeibo‘,{

         "content":dataForWeixin.title,

         "url":dataForWeixin.url

      }, function(res){(dataForWeixin.callback)();});

   });

   WeixinJSBridge.on(‘menu:share:facebook‘, function(argv){

      (dataForWeixin.callback)();

      WeixinJSBridge.invoke(‘shareFB‘,{

         "img_url":dataForWeixin.TLImg,

         "img_width":"120",

         "img_height":"120",

         "link":dataForWeixin.url,

         "desc":dataForWeixin.desc,

         "title":dataForWeixin.title

      }, function(res){});

   });

};

if(document.addEventListener){

   document.addEventListener(‘WeixinJSBridgeReady‘, onBridgeReady, false);

}else if(document.attachEvent){

   document.attachEvent(‘WeixinJSBridgeReady‘   , onBridgeReady);

   document.attachEvent(‘onWeixinJSBridgeReady‘ , onBridgeReady);

}

})();

以上分享脚本已写入到本文章页,你可以直接用微信分享本文章,会发现标题变成了“这是一个神奇的分享脚本”,文章地址指向了另外一篇微信接口的文章

这个代码清晰明了,WeixinJSBridge.on(‘menu:share:timeline’)这段就是分享到朋友圈的作用代码。PS:在faxinxi.la里还发现此网站有72个别名网址,站长真有米。

faxinxi网站其实也没有获得官方进一步的接口支持,譬如直接在微信网页内获得用户的信息,而不需要用户自己去输入昵称,这功能微信其实已经提供支持,但只是没有开放的高级功能,是通过类似于oAuth方式取得授权就可以获得用户信息。

由于faxinxi网站已经被封禁,因此本人另外设置了一个分享脚本的测试地址:

http://wecode.4wer.com/test/weshare.html

页面脚本请自行查阅,其中用到的分享脚本已封装成独立js文件,脚本github地址是:

https://github.com/dodgepudding/wechat-php-sdk/blob/master/wechat.js

时间: 2024-10-09 19:31:11

微信分享链接带图片文字和描述的相关文章

微信分享链接获取标题和小图片

一.标题 微信分享链接的小标题:自动拉取title标签的内容. 二.链接的小图标 今天测试的时候发现,网页链接在QQ浏览器上打开,分享的小图片是有显示的, 自动获取网页上的一张图片,但是为什么微信浏览器分享到朋友圈时图片却不显示呢? 想要的效果: 现实效果: 在网上搜了一下发现,原来是因为 微信浏览器上自动拉取的图片必须是大于300*300px的图片,( 会取 最近一张图片符合条件的). 解决办法: (一) 在boby 和head之间添加下面的代码即可,图片路径自行修改. *注意这个图片必须是大

微信分享到朋友圈给分享链接加上图片和文案【源码】

参考源码: 1.0假如微信6.02 不能看到分享链接后面的图片的话: 在body里面添加如下代码:(相应的位置改为你需要的) <img style="width:1px; height:1px;" src="http://web.socialab.com.cn/static/itzu/images/pic300.jpg" alt="" /> var dataForWeixin = { appId: "", img:

通过微信分享链接,后面会被加上from=singlemessage&amp;isappinstalled=1可能导致网页打不开

微信分享会根据分享的不同,为原始链接拼接如下参数: 朋友圈   from=timeline&isappinstalled=0 微信群   from=groupmessage&isappinstalled=0 好友分享 from=singlemessage&isappinstalled=0    项目中,由于请求后台数据的网址中的一部分是通过浏览器地址栏数据获得的, 获得此数据的处理过程没有考虑会被微信加参数的问题,因此得到的数据不正确, 导致网页无法访问. 弄了好久才找到这个原因,

通过微信分享链接,后面被加上from=singlemessage&amp;isappinstalled=1导致网页打不开

微信分享会根据分享的不同,为原始链接拼接如下参数: 朋友圈   from=timeline&isappinstalled=0微信群   from=groupmessage&isappinstalled=0好友分享 from=singlemessage&isappinstalled=0 在连接后加上?&再进行分享,分享成功,原理

解决h5网页微信分享链接不能显示缩略

<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script type="text/javascript"> var imgUrl = 'http://cdn-app-qn.colorv.cn/img/test/f511d8de5f770e35b1e6ba681115e04

微信分享 链接打不开 404错误-destoon

微信分享页面打开404错误 查看分享链接 没问题  可以单独打开   动态可打开   伪静态问题 修改伪静态 原文伪静态(destoon) RewriteRule ^(.*)/show/([0-9]+)/([0-9]+)?([/])?$ $1/show.php?itemid=$2&page=$3 RewriteRule ^(.*)/list/([0-9]+)/([0-9]+)?([/])?$ $1/list.php?catid=$2&page=$3 修改为 RewriteRule ^(.*

微信分享链接打开无法下载APP的解决方案(微信自动跳转浏览器打开下载链接)

需求分析 目前的APP基本都支持二维码扫描下载,二维码下载也成为了大家用起来很顺手的一种方式.由于微信的用户基本占据了国内市场的90%,说到扫一扫用户第一个想到的就是打开微信扫一下,通过微信分享APP,再从分享的链接下载apk/ios包.故用户通常都是使用微信打开链接或扫描二维码前往下载页,这是刚需. 然而在我们做微信营销和推广宣传的时候,经常会遇到链接被微信拦截,尤其是做棋牌类.黑五.捕鱼.重度博彩类的商家,导致用户在微信内打开链接提示“已停止访问该网页”,无法下载app等情况.这无疑是给推广

微信发送链接指定图片,标题,描述

<script type="text/javascript"> var imgUrl = "http://image.ehmall.com.cn/news/2015/03/24/logo.jpg"; var lineLink = window.location.href; //访问的url var descContent = '宜和购物微信卡券送不停!';//描述 var shareTitle = '宜和购物微信卡券送不停!';//标题 var appi

微信分享文本、图片(本地、二进制、网络图片)、音频、视频、Gif动态图片、网页信息--大汇总

首先是申请微信开放平台https://open.weixin.qq.com/ 根据提示在管理中心创建一个移动应用,最好是自己的公司的上线APP,这样审批容易通过, 审批通过后,会为创建的移动应用下发APP_ID.AppSecret 另外在网站上下载android版本的jar包即可libammsdk.jar 即可进行操作了 ~~~~~~~~~~~~~~~~开始吧,用的测试机,没有sd卡,另外我的台式机没有wifi,所以代码没测试,我后期会补上的~~~~~~~~~~~~~~~~~ activity_