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

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

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

还好有万能的搜索,找了一下解决方案,原来把网页放到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!,值得注意的地方, 我没有生成文件 ,因此必定要在 web

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

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


作到这里,微信扫一扫,就能直接分享了,可是如今轮到我不满意了,由于分享出去的东西,就一个连接,没有图片,没有标题,若是我看到个人朋友圈里这种东西,我是不会点的,
要带上信息,才完美小程序

 

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

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

一、经过淘宝开放的API。(这是最稳定的)cookie

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

我最后仍是选择了第二种方法,为何 ?由于研究了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 让淘宝连接在微信中分享

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

相关文章
相关标签/搜索