php curl结合新浪微博使用总结
首先检查自己的php环境是否支持curl,可以使用phpinfo();函数检查。
在学习更为复杂的功能之前,先来看一下在PHP中建立cURL请求的基本步骤:(来源:基于 PHP的cURL快速入门)
1. 初始化
2. 设置变量
3. 执行并获取结果
4. 释放cURL句柄
// 1. 初始化
$ch = curl_init();
// 2. 设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, “http://www.nettuts.com”);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 3. 执行并获取HTML文档内容
$output = curl_exec($ch);
// 4. 释放curl句柄
curl_close($ch);
第二步(也就是 curl_setopt() )最为重要,一切玄妙均在此。有一长串cURL参数可供设置,它们能指定URL请求的各个细节。要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些更常用也更有用的选项。
在curl_setopt()的各个选项可以参考(http://www.php.net/manual/en/function.curl-setopt.php)
简单的例子:
<?php
$ch = curl_init("http://www.baidu.com/");
curl_exec($ch);
curl_close($ch);
?>
下面使用php curl获取关注对象uid列表为例说明如何调用新浪微博api
新浪给的例子是这样的:curl -u uid:password http://api.t.sina.com.cn/friends/timyang.xml?source=appkey(windows的用户可以在http://download.csdn.net/source/2317876下载curl.exe)
我们要做的就是把上面的curl转化为php curl(appKey给 @新浪微博开放平台 发私信获取,你也可以使用分享到新浪微博的appKey2924220432)
下面是实现代码,你只需添上你的appKey userName password 就可以运行了
<?php $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "http://api.t.sina.com.cn/friends/ids/wasw100.json?source=appKey"); // 设置是否显示header信息 0是不显示,1是显示 默认为0 curl_setopt($curl, CURLOPT_HEADER, 0); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。0显示在屏幕上,1不显示在屏幕上,默认为0 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 要验证的用户名密码 curl_setopt($curl, CURLOPT_USERPWD, "username:password"); $data = curl_exec($curl); curl_close($curl); //echo $data; var_dump($data); 用于显示数据 echo $data; ?>
其它的接口也是类似的调用。
#################################
php使用OAuth和sina微博进行交互
1.到http://code.google.com/p/libweibo/ 下载新浪微博的php lib。根据要求修改一下就可以运行了。
# 下载,然后解压,修改config.php中的key
# 打开index.php,将13行最后一个url改成你网站对应的callback.php的url
2.WeiboClient就可以完成我们的大部分功能,但是在默认配置下,我们不是得到的原样json,我们只需在微博weibooauth.php中搜索public $decode_json = TRUE;,改为false就可以了。
剩下的事就很简单了吧。
–EOF–
解除paypal限制小结
如果在国外买空间和域名,经常使用美元支付,虽然信用卡可以直接支付,但是为了安全,还是建议使用paypal支付。虽然在godday购买域名可以使用支付宝付款,但是还需要扣款时需要支付额外的一部分费用,所以还是建议用paypal。
如果支付美元,有一个能支付美元的信用卡是必须的,没有的话就去办张吧,建议 招商银行的信用卡。
下面是自己碰到的一些问题,写出来供大家借鉴:
1.注册支持美元支付的,所以注册的时候注意不是贝宝而是paypal(一家公司,一个网站,但是贝宝不能支付美元),看清注册地址,应该是https://www.paypal.com/c2,是c2,不是cn
如果你不小心已经注册了贝宝,那只能换个邮箱注册paypal了,如果想用这个邮箱注册的paypal支付美元,你可以在原来贝宝上添加另一个电子邮件地址,移除现在这个。然后用移除的注册paypal国际帐户。
填写姓名时我填写的是 汉语拼音,我觉得应该和信用卡对应起来。
2.如果帐户被限制,不能支付,需要认证。
认证就是在你的银行卡打入两笔钱,你填写上,和支付宝差不多,很简单,按提示操作就可以。这时限制可能还不能被解除,要你上传信用卡账单和地址证明
a.信用卡账单可以让打电话补寄,不过我没用到,因为我解除限制时还没邮寄到我手里,但是万一你用下面的方法不可以,这样有备无患。如果手上放没有纸质的信用卡账单,可以截取电子版的发过去试一下,我就是这样做的(截图可参考:windows上截图较为清晰的方法),而且成功了,但是这样做是不合要求的,所以要做好纸质账单的照片邮寄过去的准备。
b.地址证明,我用的是办银行卡时开通业余的单子,还有在卓越买书的收货单,以及信用卡的照片。
注意自己的邮件,有些操作有根据按照邮件说明做的。
paypal的办事效率还是很让我满意的,现在就可以拿着paypal购买自己想要的域名了,上次购买的xiakule.com因为paypal不能支付被雅虎收回了,这次不注册这个了,再换个注册。
–EOF–
struts2 json小结
帮助主页:http://cwiki.apache.org/WW/json-plugin.html
下载主页:http://code.google.com/p/jsonplugin/downloads/list
struts2 json 使用总结
使用注释:
@JSON(serialize=false) //这个getter方法不串行化
//使用注释语法来改变该属性序列化后的属性名
@JSON(name=”newName”)
@JSON(format=”yyyy-MM-dd”) //时间格式
from:http://blog.csdn.net/gaoligaoli/archive/2009/08/02/4402591.aspx
属性值为空的属性不串行化
<result type="json"> <param name="excludeNullProperties">true</param> </result>
在生成的json前加”{}&&”前缀(例如:{}&& {“name”:”wasw100″,”password”:null} )
<result type="json"> <param name="prefix">true</param> </result>
自定义前缀后缀
<result type="json"> <param name="wrapPrefix"><![CDATA[<html><body><textarea>]]></param> <param name="wrapSuffix"><![CDATA[</textarea></body></html>]]></param> </result>
结果:
<html><body><textarea>{"name":"wasw100","password":null}</textarea></body></html>
包含指定的属性(可用正则,多个选项用逗号隔开):
<result type="json">
<param name="includeProperties">
person\[\d+\]\.person1
</param>>
</result>
不包含某些属性:
<result type="json">
<param name="excludeProperties">
person\[\d+\]\.person1
</param>>
</result>
–EOF–
自己常用的firefox插件集
以前看到kentzhu的一篇文章,盘点:我的Firefox插件集,我也把自己用到的firefox整理一下,给大家一个参考,同时用到的时候可以在快速找到
1.IE View
很多网上银行只支持IE,这中类型的插件就很必要了,IE View可以设置哪些网站可以一直使用IE打开,例如:我的默认浏览器是ff,但是我每次打开QQ空间都想用IE打开,这个IE View就可以做到,具体做法自己研究,不会设置可以留言,我再补充。
安装地址:https://addons.mozilla.org/en-US/firefox/addon/35
2.点 和我联系 时弹出阿里旺旺聊天窗口的插件
安装地址:https://addons.mozilla.org/zh-CN/firefox/addon/46566
3.Google Shortcuts – All Google Services at a glance 2.0.5
可以快速打开google的服务,经常使用google的建议安装,图标比较小,很省空间,但却给自己带来很大方便。
安装地址:https://addons.mozilla.org/en-US/firefox/addon/3576
4.AutoProxy
管理自己的代理的,翻墙用户,经常切换代理 的用户必备
安装地址:https://addons.mozilla.org/en-US/firefox/addon/11009
5.fireBug
调试javacsript用到
安装地址:https://addons.mozilla.org/en-US/firefox/addon/1843
6.HttpFox
简单的说就是抓包工具,类似HttpAnalyzer,虽然功能不是很强大,但是使用简单,很是喜爱,做ajax应用的程序员必备,还有别的很多用处,自己发掘吧
安装地址:https://addons.mozilla.org/en-US/firefox/addon/6647
7.wmlbrowser
可以打开手机网页的插件,下载地址:https://addons.mozilla.org/en-US/firefox/addon/62
8.User Agent Switcher
改变firefox 的User Agent的插件,比如你可以模拟你的firefox为一个iPhone浏览器,
安装地址:https://addons.mozilla.org/en-US/firefox/addon/59
9.Alexa Sparky
如果你比较关心各个网站的alexa排名,这个就能满足你了
安装地址:https://addons.mozilla.org/en-US/firefox/addon/5362
10.Google Analytics Monitor(或者Google Analytics Watcher)
如果你用google Analytics统计你网站的访问数据,你想随时获得今天的访问量那么这个插件能够满足你
Google Analytics Monitor安装地址:https://addons.mozilla.org/zh-CN/firefox/addon/79930/
Google Analytics Watcher安装地址:https://addons.mozilla.org/en-US/firefox/addon/57918/
–EOF–
写html需要注意的两个小地方
为什么我的网页不居中,css已经设置好magin: auto了呀?为什么我的网页在有的机器上乱码,有的机器上却很好?
很可能的原因是:
1.html上没有设置doctype,所以你设置好的css可能不起作用
2.meta没有设置charset的字符类型
初学写网页的不要省略doctype html、meta charset这两个东西,下面的页面同样很简单,但效果会好很多。
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>title</title> </head> <body> hello world </body> </html>
–EOF–
在雅虎注册国际域名第一年年费只需1.99美元
现在在yahoo注册国际域名(.com,.net,.org)只需要1.99美元
注册地址:http://smallbusiness.yahoo.com/domains/?p=BESTDEAL,需要你的yahoo邮箱(.com.cn、.cn的都可以)
付款:建议使用paypal付款(自己不是很放心用信用卡支付,加上一个中间环节似乎更安全。)
注册也不是麻烦,但是一定要注册一个支持国际支付的,中国版的贝宝可能不支持美元支付。
有了域名之后,还需要一个空间,空间可以国外空间合租,这里推荐hugege.com的。
国外域名比国内域名便宜,不容易被河蟹
相对来说国外空间你的权利也相对大些,便宜,缺点是速度可能比国内的慢,不过对网站进行优化,速度还是可以的。
我昨晚在雅虎注册了一个 codeif.com,paypal也是昨晚注册的,很多地方写的不具体,大家有问题可以留言,我再对上面的内容进行修改补充。
–EOF–
win7小技巧–快速打开某个程序
用win7的用户先做下面测试:
测试1.按下win键(Ctrl右面那个键)-》输入 “画图”(不带冒号)-》回车
测试2.按下win键(Ctrl右面那个键)-》输入 “计算器”(不带冒号)-》回车
我们用这种方式打开photoshop怎么做?按下面的步骤做
1.发送PhotoShop快捷方式到桌面,重命名(F2)为PS
2.拖动这个快捷方式到开始菜单上,出现 附到开始菜单 送开鼠标(见附图)
按下win键(Ctrl右面那个键)-》输入 “PS”(不带冒号)-》回车
截图的继续:
打开ps后,Ctrl+N,print键,然后 windows上截图较为清晰的方法
–EOF–
windows上截图较为清晰的方法
你用什么#截图#?QQ吗?我总觉得这样截图既不清晰体积也不能保证,比起jpg我更喜欢png格式的截图,既可以透明背景,品质也有保证
下面是我的方法:
1、photoshop–我的装机必备之一
Adobe Photoshop CS3 10.0.1.0 简体完整绿色版下载地址(资源已经没有了,把下面地址贴到迅雷才能下载)http://xdowns.com/soft/xdowns.asp?softid=39369&downid=47&id=41765
2、Print Screen键–键盘上的印屏幕键(方法的核心)
想截图的页面直接按下这个键就OK,然后就可以贴到QQ了或者画图软件了。不过这样图片是不是太大了呢?你可以用 Alt+Print Screen键 这样就直截取活动窗口了。
但是有时我们还是得截图,继续向下看。
3、
方法一:打开windows自带的画图,粘贴–》保存(格式建议选png),photoshop打开进行截图操作
方法二:直接打开photoshop, 文件–》新建(Ctrl+N) 大小和屏幕大小一样(获取屏幕分辨率:右击桌面空白处……)颜色模式可以选RGB 8位,北京内容透明即可,然后 编辑-》粘贴(Ctrl+V)
4、把图片大小调为100%(左下角有个百分数,改为100%回车就可以),然后photoshop左侧有个截图按钮(可以直接按C键),进行截图。如果你想图片大小截取后是固定的,photoshop顶部有个宽度高度的输入框,例如宽度输入400px,高度输入300px,截图后的大小就是400px*300px
5、保存为png格式的图片就好了。
补充:上面核心就是 Print Screen键截图,然后处理,只要用自己擅长的工具、擅长的方式处理就可以了。
以上只是自己的个人见解,我会根据大家的留言进行修改补充。
@ninekb在腾讯微博回复: #截图#专业户用HyperSnap,进行了测试,功能很强大,但是似乎安装了很多插件,为了保持电脑清洁,所以不建议安装。
–EOF–
网易微博、腾讯微博、新浪微博图片测试
能看到下面的图片,说明腾讯微博支持图片外链:
能看到下面的图片,说明网易微博支持图片外链:
能看到下面的图片,说明新浪微博支持图片外链:
是否支持外链可以看上面的图片是否显示,其他方面:网易微博会对原图片进行修改,打上自己微博地址的水印,腾讯微博、新浪微博图片体积格式均保持不变(原图片为png格式22.5K,网易修改为jpg格式,大小变为48.5K)
另外推荐保存图片的空间(支持邮件发图,自动发布到twitter,使用twitter帐户登陆):http://img.ly/,顺便对其外链进行测试

–EOF–