自从用过goddy的主机之后,就将twitter的同步功能打开了。这两天顺便将facebook的同步 也添加上。这个算是测试咯
标签: twitter
twittering-mode的暴力修改
很早之前用过twittering-mode,不过自从GAE的那个接口被封了之后,就没再
管了。最近又想试试了,发现已经支持OAuthor了。不过还是有些问题,懒的找答
案,就暴力修改下了。
curl支持https链接由于证书而造成的问题,修改如下:
(curl-args
`("--include" "--silent" "-k"
,@(apply 'append
(mapcar
(lambda (pair)
;; Do not overwrite internal headers `curl' would use.
;; Thanks to William Xu.
;; "cURL - How To Use"
;; http://curl.haxx.se/docs/manpage.html
(unless (string= (car pair) "Host")
`("-H" ,(format "%s: %s" (car pair) (cdr pair)))))
header-list))
; ,@(when use-ssl `("--cacert" ,cacert-file-body))
; ,@(when (and use-ssl allow-insecure-server-cert)
; `("--insecure"))
顺便提下使用代理的配置及相关:
(setq twittering-https-proxy-server "127.0.0.1")
(setq twittering-https-proxy-port 8087)
(setq twittering-icon-mode 1)
(setq twittering-timer-interval 300)
lightword中使用google自定义搜索
这两天在弄wordpress的插件,就像之前提到的一样,主要是为了自己使用。但在lightword中,如果使用google自定义搜索的话,将会打开网址为http://www.google.cse,这明显不符合我的要求啊。
虽然简单的直接修改源代码就可以,但这并不符合我的要求,之所以折腾自己的插件就是因为不想修改别人的代码了,所以测试了各种add_action和add_filter的方法,结果都不可以。后来决定使用javascript的方法来解决了,在管理界面的lightword设置中的additional footer content部分,加入如下代码:
不用插件完成post-to-twitter功能
之前测试了款post-to-tiwtter的插件,发现完全不能使用,可能作者也放弃了更新还是怎么的,差不多一年左右没有更新了。但评分居然超高。又测试了一个类似的插件,但需要curl支持,可惜本空间供应商不支持。不想在闲逛之余,发现了已经有别人实现了不用插件的方法:http://www.clazh.com/post-wordpress-to-twitter-automatically-with-short-urls-no-plugin-required/
原来的内容是使用curl的,这个需要修改的,作者也提到了两种使用别的方法,我在本空间上测试了下,fsockopen和stream_context_creat均是支持的,那么就将curl修改为stream_context_creat吧,不用fsockopen是因为那个感觉更加的强大,强大意味着要敲更多的字,本着够用就行的原则,使用了stream_context_creat。就有了下面的内容:
获取服务器状态并发送到twitter
前两天,空间提供商kilu的服务器似乎有些问题,总是出现下线或者拒绝服务器的状态,于是想写一个脚本来自动获得服务器状态并公布到twitter上。在kilu的论坛上发现了一个帖子,并告诉了服务器状态的网址: http://subdomain.kilu.info/,但该地址获得的是所有服务器的状态,于是开了firebug,看了一下,原来后台向 http://m2000.onpw.de/kilu/server_check.php 发送的请求,格式如下:
http://m2000.onpw.de/kilu/server_check.php?srv=Server_Id&port=Port&tm=Num
Server_Id为你空间所在的服务器的id,kilu的服务器都是www1,www2,www3什么的,在后台管理可以看的到的(比如我的是12),port为要检查的端口号,tm这个可以不要的(应该是tm,昨天看的,没什么必要,所以就没记住)
于是写了个脚本来获得服务器信息:
#!/bin/sh
Time=`curl "http://m2000.onpw.de/kilu/server_check.php?srv=12&port=80" | sed -e 's/<[^<]*>//g'`
Result=`echo $Time | grep "sec"`
WEB_ERROR=""
if [ -z "$Result" ] ; then
WEB_ERROR="web failed:$Time"
twitter.sh "通知:http://zeze0556.tk 可能下线,原因:$Time,造成该原因可能由于网络故障或维护,我们将在半个小时检测一次,并及时通知检测结果,本通知由脚本自动发送"
echo "$WEB_ERROR" > web_error
else
if [ -e web_error ] ; then
rm -drf web_error
twitter.sh "通知:http://zeze0556.tk 服务器恢复正常,本通知由脚本自动发送"
else
echo "success=$Time"
fi
fi
Time=`curl "http://m2000.onpw.de/kilu/server_check.php?srv=12&port=3306" | sed -e 's/<[^<]*>//g'`
Result=`echo $Time | grep "sec"`
SQL_ERROR=""
if [ -z "$Result" ] ; then
SQL_ERROR="SQL failed:$Time"
twitter.sh "通知:http://zeze0556.tk 数据库异常变动,原因:$Time,造成该原因可能由于网络故障或维护,我们将在半个小时检测一次,并及时通知检测结果,本消息由脚本自动发送"
echo "$SQL_ERROR" > sql_error
else
if [ -e sql_error ] ; then
rm -drf sql_error
twitter.sh "通知:http://zeze0556.tk 数据库恢复正常,本通知由脚本自动发送"
else
echo "success=$Time"
fi
fi
上述内容中,3306是sql数据库的端口号,之所以检查是因为wordpress需要从数据库中读取内容。
上述内容中,还有一个twitter.sh的脚本,这个脚本是用来将消息发送到twitter上的,网上很多教程关于从linux命令行发送twitter的,由于twitter现在不支持basic 认证了,不过所幸的是,通过GTAP还是可以进行basic认证的,而且更加的安全。于是就有了下面的内容: