开发者社区> 橘子红了呐> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

让淘宝链接在微信中分享,GO

简介:
+关注继续查看

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

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

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

 

1
2
3
4
5
6
7
8
9
10
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!,值得注意的地方, 我没有生成文件 ,所以一定要在 

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

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


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

1
 

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

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

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

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$snoopynew \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 让淘宝链接在微信中分享

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







    本文转自无心之柳.NET博客园博客,原文链接:http://www.cnblogs.com/9527/p/5271532.html,如需转载请自行联系原作者






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Go语言刷题篇】Go完结篇|函数、结构体、接口、错误入门学习
- 本期是学习Golang的完结篇:函数、结构体、接口、错误入门学习,有不懂的地方可以评论进行讨论!
0 0
【Go语言刷题篇】Go从0到入门5:Map综合复习、条件语句、循环语句练习
本期是学习Golang:Map综合复习、条件语句、循环语句练习,有不懂的地方可以评论进行讨论!
0 0
【Go语言刷题篇】Go从0到入门4:切片的高级用法、初级复习与Map入门学习
本期是学习Golang的:切片高级用法及初级复习、Map、条件与循环语句入门学习,有不懂的地方可以评论进行讨论!
0 0
【Go语言刷题篇】Go从0到入门3:逻辑运算、位运算、数组入门、切片入门练习
本期是Golang的逻辑运算、位运算、数组入门、切片入门的专项练习,有不懂的地方可以评论讨论~
0 0
【Go语言刷题篇】Go从0到入门2:类型转换、字符求和、运算符运算(加减乘除取余比较符)练习
本系列文章采用牛客的核心代码模式进行案例代码提供,帮助大家从0到入门的学习过程中进行配套的刷题~
0 0
从1开始,扩展Go语言后端业务系统的RPC功能
从1开始,扩展Go语言后端业务系统的RPC功能
0 0
Go语言开发小技巧&易错点100例(四)
Go语言开发小技巧&易错点100例(四)
0 0
【Go实战 | 电商平台】(4) 用户注册
文章目录 1. 编写路由 2. 注册路由 3. 注册接口 3.1 service层 3.2 api层 3.2 serializer 4. 注册服务 用到的包
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
微信PaxosStore简介
立即下载
微信广告引擎与播放节奏算法实践
立即下载
微信H5视频播放器在海量业务下的实践
立即下载