老婆开了个淘宝店,小卖家的心理大家都知道,一开始的小店总是没有光顾,吸引流量成了重中之中。

所以她到处发链接,微信里发了好多条,可是没过多久有好友微她,问她发的时什么,为什么都是打不开的。结果直接傻眼,来问我是不是她的微信坏掉了,我只能告诉她,这真不能怪她,两大掐架呢, 你属于误伤,把淘宝链接直接放在微信中分享是不行的,问我为什么 ,我哪里知道为什么! (其实我知道,更她解释太麻烦,她又不一定听得懂),她就有没有办法解决,我说没有办法,她就来了句,还电脑高手呢,这么简单的问题也解决不掉!嘿瞧我这暴脾气,我就受不了激!

还好有万能的搜索,找了一下解决方案,原来把网页放到ifrmae 里就可以了,这简单,我有个SAE,做了同个页面扔上去把链接发给她,解决了。没过几天问题又来了,她上新了,又要发,这样手动加也不是个办法,做个小程序吧,不就简单的CURD吗,操起PHP,下载个thinkphp (不知道为什么 总有人觉得它不好,我觉得他挺好)不到50行代码就搞定了,为了方便,还给顺手生成一个二维码,

public function qrcode($guid) {
vendor("phpqrcode.phpqrcode");
$url="http://".$_SERVER['HTTP_HOST'].U('Urlhandle/show',array('guid'=>$guid),$domin=true);
$level = 'L'; $size = 8;
ob_clean(); \QRcode::png($url,false,$level,$size);
}

  有现成的东西用就是简单,phpqrocde  so easy!,值得注意的地方, 我没有生成文件 ,所以一定要在

\QRcode::png($url,false,$level,$size); 前 加上
ob_clean();

ob_clean这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区。
不然图片显示不正常,

做到这里,微信扫一扫,就能直接分享了,但是现在轮到我不满意了,因为分享出去的东西,就一个链接,没有图片,没有标题,如果我看到我的朋友圈里这种东西,我是不会点的,
要带上信息,才完美


但信息哪里来,最简单的方法,加两个输入框 自己加呐,但这不是我想要的,对于用的人来说,太麻烦了,哪么只有自己去取了,

通过输入的要转化的URL,自动去这个URL取,也有两个办法,

1、通过淘宝开放的API。(这是最稳定的)

2、抓网页啊分析啊, (时间长了会被封)

我最后还是选择了第二种方法,为什么 ?因为研究了taobao api 发现,获取商品信息的接口,它竟然是收费的,收费的,收费的!!

只能先用第二种方法了,强大的PHP 可以直接用CURL,但是这太麻烦了,特别是有些URL要经过几次301或302跳转的,只能找现成的的封装好的了,

一开始用的是snoopy 太好用了,代码又少,

$snoopy= new \Snoopy();
$snoopy->agent="Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36";
$snoopy->setcookies();
$snoopy->rawheaders["Accept-Encoding"] = "gzip, deflate, sdch";
$snoopy->rawheaders["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"; $snoopy->fetch($turl); print_r(get_headers($turl));
dump($snoopy->port);
dump($snoopy->host);
dump($snoopy->headers); $content=$snoopy->results; echo $content;

  就这么简单,就获取URL返回的文本内容了,

但是snoopy 在处理有些跳转的时候 经常不能正确返回,而是返回了,404错误,不得以,改用了Requests这个类库,他提供两种方式来获取,一种通过CURL也可以用fsockopen的方式 ,强大而且稳定,

$headers= array(
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
);
$options = array(
'useragent' => 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36',
'transport' => 'Requests_Transport_fsockopen'
); $request = Requests::get($url, $headers,$options);
$content=$request->body;

transport 参数就是我指定它fsockopen的方式,因为我的虚拟主机在用curl 获取https的时候 ,经常会出错,不得已。

这样一来。图片和标题,都搞定了,

分享在朋友圈里也是可以带上图片和标题了的,

做我这一切,我索性,美化了一下页面,上传到我的虚拟主机上了,造福大众去了,

http://www.wx2share.com 让淘宝链接在微信中分享

代码花了一天不到的时候 ,发现前端才是最磨人的

让淘宝链接在微信中分享,GO的更多相关文章

  1. 淘宝链接中的spm参数

    什么是SPM SPM是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的一套跟踪引导成交效果数据的解决方案. 下面是一个跟踪点击到宝贝详情页的引导成交效果数据的SPM示例: http://det ...

  2. 淘宝UWP中的100个为什么

    从淘宝UWP第一版发布到现在,已经有十个月了,期间收到了用户各种各样的反馈,感谢这些用户的反馈,指导我们不断的修正.完善应用.但是也有一部分需求或建议,由于资源或技术的限制,目前确实无法做到,只能对广 ...

  3. 飞流直下的精彩 -- 淘宝UWP中瀑布流列表的实现

    在淘宝UWP中,搜索结果列表是用户了解宝贝的重要一环,其中的图片效果对吸引用户点击搜索结果,查看宝贝详情有比较大的影响.为此手机淘宝特意在搜索结果列表上采用了2种表现方式:一种就是普通的列表模式,而另 ...

  4. 解决:在微信中访问app下载链接提示“已停止访问该网页”

    前言 现如今微信对第三方推广链接的审核是越来越严格了,域名在微信中分享转发经常会被拦截,一旦被拦截用户就只能复制链接手动打开浏览器粘贴才能访问,要不然就是换个域名再推,周而复始.无论是哪一种情况都会面 ...

  5. 分享一个在线生成微信跳转链接实现微信内跳转浏览器打开URL的工具

    前言 现如今微信对第三方推广链接的审核是越来越严格了,域名在微信中分享转发经常会被拦截,一旦被拦截用户就只能复制链接手动打开浏览器粘贴才能访问,要不然就是换个域名再推,周而复始.无论是哪一种情况都会面 ...

  6. python推荐淘宝物美价廉商品

    完成的目标: 输入搜索的商品 以及 淘宝的已评价数目.店铺的商品描述(包括如实描述.服务态度.快递的5.0打分): 按要求,晒选出要求数量的结果,并按"物美价廉算法"排序后输出 思 ...

  7. iOS/Android 浏览器(h5)及微信中唤起本地APP

    在移动互联网,链接是比较重要的传播媒质,但很多时候我们又希望用户能够回到APP中,这就要求APP可以通过浏览器或在微信中被方便地唤起. 这是一个既直观又很好的用户体验,但在实现过程中会遇到各种问题: ...

  8. EMAS,一部淘宝十年移动互联网技术的演进史

    导读 本文根据2018云栖大会深圳峰会·EMAS专场—移动互联的进化论,阿里巴巴高级技术专家泠茗< EMAS全景介绍>的演讲整理而成,文中就EMAS的起源史及EMAS的五大移动研发场景解决 ...

  9. 剁手党也有春天 -- 淘宝 UWP ”比较“功能诞生记

    前言 网购已经不再是现在的时髦,而变成了我们每天的日常生活.上网已经和买买买紧密地联系在了一起,成为了我们的人生信条.而逛街一词,越来越多地变成了一种情怀.有时候我们去逛街,要么是为了打发时间,要么是 ...

随机推荐

  1. js常用功能汇总

    var Utils = function() { this.Tools; this.ui; }; Utils = new Utils(); Utils.prototype.Tools = { year ...

  2. Java 第13章 带参数的方法

    带参数的方法 无参方法有那几个组成部分? 调用无参方法的两种形式是什么? 第一种:同一个类中的方法调用 直接用方法名 show(): 第二种:不同类中的方法调用 -->对象实例化 -->对 ...

  3. oracle decode(nvl(estimate_qty,0),0,1,estimate_qty) 函數

    oracle   decode(nvl(estimate_qty,0),0,1,estimate_qty) 函數

  4. 百度上传工具webuploader,图片上传附加参数

    项目中需要上传视频,图片等资源.最先做的是上传图片,开始在网上找了一款野鸡插件,可以实现图片上传预览(无需传到后台).但是最近这个插件出了莫名的问题,不易修复,一怒之下,还是决定找个大点的,靠谱的插件 ...

  5. 导入DXF文件

    1.选择菜单“File-Import-DXF”. 2.设置DXF文件参数.DXF file:选择DXF结构文件,单位,要和DXF源文件的单位一致.在DXF file中选择文件后,下方的Layer co ...

  6. 记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?)

    记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?) 前几天帮客户优化一个数据库,那个数据库的大小是6G 这麽小的数据库按道理不会有太大的性能问题的, ...

  7. Helios与Katana的区别

    Helios与Katana都是微软开发的基于IIS的OWIN实现. 它们之间的区别很简单:Helios不依赖于ASP.NET Runtime,Katana依赖于ASP.NET Runtime. Hel ...

  8. EasyUI Jquery 动态加载树,点击节点加载

    <script type="text/javascript"> $(function() { $(document).ready(function() { $.post ...

  9. python time

    Python-time 计算程序运行时间 import time start = time.clock() time.sleep(5) end = time.clock() runtime = end ...

  10. [C++] socket - 3 [线程简单例子 代码]

    #include<windows.h> #include<stdio.h> DWORD WINAPI myfun1(LPVOID lpParameter);//声明线程函数 D ...