• 约2小时前: @trai25 有人帮忙测试twitbird for free可用
  • 约10小时前: RT @duck_1984: 席德·梅尔的《文明5》试玩报告 http://is.gd/eSy3u
  • 约21小时前: @laoyang945 …不用教程啊,上传直接用
  • 约21小时前: @mmllkk iphone上的哪个?
  • 约21小时前: #botwi 搭建的api通过android上的seesmic
  • 2010-09-02 03:02:01: 我了个去!原来微点支持64位Win7了!两年前买的家庭装由于用了64位而荒废,今天终于不用裸奔了,内牛满面呀~
  • 2010-09-02 00:02:29: @KCLT 没用过twhirl,怎么我的Home只显示回复和私信而没有FriendsTimeline的?..

开源项目BoTwi.无视oAuth,继续Basic推墙

Filed under: 网络 — 标签:, — 动感咸鱼 @ 09:54 2010-09-01

Twitter完全不顾中国人民的强烈谴责,正式关闭了Http Basic Auth,只好建这个开源项目叫BoTwi:Break OAuth Twitter——帮你自建一个继续使用Basic方式的代理API。

怎么使用:

需要一个支持curl/.htaccess/无广告的PHP5空间,可以不做任何设置,上传即可用,API地址指向上传目录下的/t。

可以运行check.php检查一下主机是否支持。

为啥要用:

如果你的Twitter客户端可以自定义API,可以试试自己搭建一个,这个东西相当于自动代理oAuth的Twip,效果等于Twitter没有关闭Basic,无视oAuth,直接发送用户密码就可以获得Twitter内容。

Twip也有oAuth版本,但只支持有限的几个用户,设置麻烦,所以自己写一下。感谢Twip的作者@yegle,同时也借鉴了dabr的代码。

折腾说明:

如果你不想折腾,下面的内容可以不看——

自定义API名称:

比如你上传到了http://www.abc.com/botwi/下面,那么你在http://dev.twitter.com申请的应用的OAUTH_CALLBACK_URL要指向http://www.abc.com/botwi/oauth,在botwi/t/config.php里定义这个值,并按申请应用时给你的值修改OAUTH_CONSUMER_KEY和OAUTH_CONSUMER_SECRET。

更快地连接:

如果传给API的是用户名密码,那么除了几个不需要认证的search之类,一般都要自动运算一次获得oAuth授权,但如果你能让客户端发来oauth_token和oauth_token_secret,那就可以省下这一步自动运算的时间。

我自己定义了一个/takeoAuth.json,向/botwi/t/takeoAuth.json发送用户密码,你就可以得到一个json格式的oauth_token和oauth_token_secret,然后你就可以接下来都用这两个东西发送请求了。

Godaddy免费空间:

大概6块人民币可以在Godaddy买个info域名,送免费空间,用来做API性能很好,可惜json输出后面都带广告,如果你能够在客户端处理掉这个广告,比如PHP的用strip_tags可以完美去除。

其它免费空间:

Google“php免费空间”试试,目前只测过alwaysdata,在Environment的PHP配置里加上extension = curl.so就行了。

项目地址:http://code.google.com/p/botwi/

测试API:http://iamzzm.alwaysdata.net/botwi/t

PS.

http://iamzzm.alwaysdata.net 是使用这个API的真理部内参,原来的nc.alwaysdata.net被光荣牺牲了,但搭建一个不过几分钟的事,真不知道有关部门费这个劲干嘛,白白增加了GFW黑名单的维护成本——话说这个成本里也包含了我交的税呀。

PS.PS.

这个API代码还没有经过更全面的测试,有问题推上找我:@iamzzm

PS.PS.PS.

杯具,刚发完Twitter就维护了~在这回答点问题:

这个项目首先是鼓励迅速搭建公开可用的API,如果是私用,最新版的Twip已经满足要求,可以无视路过。

当然,如果你要让这个API也私用,很简单,在/t/index.php里的if ($type == ‘oauth’)前面加两行:

$add = (strpos ( $request_api, ‘?’ ) > 0) ? ‘&’ : ‘?’;

$request_api .= $add.’oauth_token=xxxxxxxx&oauth_token_secret=xxxxxxx’;

这里的xxxxxxx是你账号私有的token和secret。不过不鼓励这样,共享没什么不好。

真理部内参:新增注册看图网页代理

Filed under: 网络 — 标签:, , — 动感咸鱼 @ 09:49 2010-07-17

放暑假啦,明天去福建玩,更新一下真理部内参,修正了一些错误,增加注册功能、预览被墙图片功能和网页代理功能,源代码来不及整理好,还有官推之类的没做好,先在这里说明一下,回来再继续弄。

其实增加的这几个都比较简单,注册功能是从@luosheng贡献的源代码改来的,做了一些修正,改成了一个单文件signup.php,应该不难懂:传ch=1获得token和challenge,传img=challenge值获得验证码图片,然后跟用户密码邮箱之类一起post即可。

twitter的图片让我郁闷了很久,图床一个接一个地被墙,好吧,墙吧,我就两行代码:

header(‘Content-Type: image’);

echo file_get_contents($Imgurl);

这样就可以看图了,像twitgoo不但被墙,而且还很荣幸成了链接里的敏感词,传递时会被检查被重置,好吧,那就base64_encode一下吧,你丫敢decode出来检查,我就encode它一百遍。

所以真理部和博微博的上传图片功能也永久恢复了,用img.ly。

然后是链接,有司最近把国内微博强暴了一遍,把一份链接白名单射在她们脸上,白名单之外的链接不让打开了。好嘛,大家都来twitter吧,你还可以给你的客户端加一个网页代理功能,这也很简单,功能强大的开源php网页代理很多,比如这一个,是在著名的phproxy的基础上加了一个链接加密,直接下载解压传到你的php空间上就行了——其实吧,有了这个东西,你已经可以直接登陆twitter.com了。

不过有个问题不好解决,就是代理打开的网页会因为敏感词而被重置,研究了半天,只知道https加密才能解决,但免费空间不提供这个东东,除非你自己买一个支持ssl的空间。还有一个办法,就是维护一个敏感词表,在生成网页的时候处理掉……

当然更好的办法是用翻墙软件。当然最好的办法是移民。

Twitter停止Basic方式认证目前还不需要担心,真理部内参和博微博已经提前用模拟oAuth方式登陆了,希望Twitter到时不要封杀才好,如果到时没问题,再把模拟的代码放出来。

博微博有点搁浅了,因为国内微博气候不明,一夜回到测试版,且看看再说吧~

明天去福州,这个著名的罪言城,有司的天堂,网民的地狱,我要去那里画一个圈圈,诅咒所有禁止别人讲话的人,诅咒所有禁止听人讲话的人。

博微博:博览天下微博[M8版1.1/Android版0.9发布]

Filed under: 手机,网络 — 标签: — 动感咸鱼 @ 09:56 2010-05-24

1.1主要更新

1.支持更多全功能微博(腾讯、网易、搜狐等等),支持SNS网站的主要消息浏览

2.无限多账号,更智能的微博切换

3.草稿箱功能,更可靠的同步更新

4.增加随便看看、跨微博搜索、跨微博热门话题、跨微博热门转发、自动地理定位

5.更多自定义,增加了对最新消息位置、网页浏览器、中转服务器、界面语言的自定义选项

目前支持

12个全功能微博:Twitter/新浪微博/网易微博/搜狐微博/腾讯微博/嘀咕/做啥/人间网/Follow5/9911/同学网/中金在线

6个支持浏览的SNS网站:Facebook/开心网/人人/豆瓣(广播)/凤凰微博/鲜果联播(动态)

其中,腾讯微博功能仍未完整,实现的是首页、用户页面、关注/取消关注、关注者/被关注者、看图片、发表、转发等等,但无法用它自带的图片上传,只能用公共的图片上传方法,也暂时无头像、无法查看旧内容和自动检查更新,但只是时间问题,会在服务端持续更新支持——不过也有可能被腾讯彻底封掉,要看麻花的心情了…

微博之间功能是有差异的,不过由于是自己在服务端封装的统一API,它们有什么变动都可以在服务端更新,不必改客户端,如果你发现有什么不对,可以在帮助界面中提交bug/建议。

SNS类型网站目前支持浏览首页和用户页面,凤凰和鲜果没公开API且比较小众,暂时归入这一类,如果有需要有时间,有可能让它们有更多功能。

M8 1.1版说明

这个版本主要确定了一些基本框架,主要是让它更依赖服务端,尽量减少软件更新,比如自动获取服务列表,如果有新增的微博会在里面自动添加,不必下载新的客户端。

新的发表界面,可以随时自定义要同时更新的微博,发送完会有详细的发送结果报告,强烈建议多用草稿箱保存起来,网络质量并非百分百可靠,而且国内微博都有审核,也许发表成功了,但回头就被管理员删除了也不一定……

那个地图图标是一个让你在微博上发表一条你当前的地理位置和相应地图的功能,来自Google地图,所用流量只是发送手机基站信息的几个字节,文字和图片都是自动完成的,定位并不十分精确(似乎是google出于隐私什么的考虑),可以玩玩。

设置里面,中转服务器只对twitter有效,你可以自己用twip建一个,唯一的用处估计是可以建一个显示自定义来源的twip,不过我还没来得及测试,有愿意试的同学如果遇到问题请联系我。

自定义语言是选择dat文件夹下的lang文件,其实是xml格式,可以用记事本之类的打开,我英文很烂,有愿意的同学可以帮我改改错误~

这仍然是个测试版,离预定的2.0正式版还有一段距离,且用着先。

Android 0.9版说明

Android版是合作公司找人外包做的,我昨天才拿到android手机,一看这软件差点晕倒..里面的功能残缺不全,基本只有首页浏览和发表功能,连@我的、私信、同步更新什么的都没有,可用度太低,真不想拿出来见人。不过实在不能再跳票了,勉强放出来,不推荐使用,我会尽快跟进让他更新的。

一点计划

跳票等着Android版一起发布是想表明博微博要做全手机平台——不过这恐怕还要花很多力气,android版还差得远,另外已经有一个iphone版的demo,如果顺利的话还可以继续做WM(上次自己做不成功,一直耿耿于怀~)。

发完这个M8版客户端,接下来我主要做的就是继续完善服务端了——我自学网络编程 不过几个月,唯一作品就是那个真理部内参,所以这也会够呛的。

服务端完善到一定程度,就会出一个网页客户端,将放在下面的博微博官方网站上,敬请期待:

下载地址

http://www.boweibo.com

KK太可恶了!

Filed under: 记事 — 标签: — 动感咸鱼 @ 23:41 2010-04-07

      KK现在可幸福了,自从过年带回老家,就有三个闲人养着它。爸妈说它好得很,一天到晚活蹦乱跳的,一点都没有想我……哎,可是我想它了。
      KK真是一条又懒又丑又不爱干净的狗啊。它吃了我好多零食,才只学会了握手的技能。它每天做得最多的事,除了睡觉,就是努力使我的房间充满它的尿骚味。
      KK的个性真是很讨厌,在我看着它的时候装乖孩子,非常得意地自己去厕所和阳台撒尿,可是一不留神,又跑去非指定区域乱来。操,它就是要故意惹我生气,骂它,它还装可怜,很忧郁很知道错了的样子,可它就是会装,一点都不长记性,太可恶了!
      KK就是凭它两只扑闪扑闪的大眼睛欺骗了我的感情,还老是粘着我,假装很爱我。夜里还老钻到我被窝里来,天亮了却在我的被子和枕头 上撒尿。我真是气死了,已经被它尿了四五床棉被了!
      我每天大部分的话,都是对它说的,虽然它很可恶,但还算是个不错的倾听者,我还经常教它说潮汕话、广州话、客家话、普通话、英语、日语……可惜它一点都没学会,就只会对楼下的行人乱吠。
      现在它还见异思迁,一点都不念我一把屎一把尿,从三个月拉扯到五岁大,这么久没见我了,也没有为我吃不下饭,没有每天趴在门口等我回家,没有在夜深人静的时候仰望星空,没有把那些星星想象成我的笑脸……
      我曾不止一次地对人说,哎,我们把它做成狗肉煲吃了吧。现在可好了,我连鸡腿鸭腿都不敢吃了,因为这是KK的最爱,我餐餐买给它吃,啃几口就丢给它,现在啃几口不知丢给谁了,对着根鸡腿发呆。现在夜里寂寞,居然会对着空气叫KK,早上醒来,居然还期待KK跑过来,唉,太傻逼了,居然要为一个狗肉煲发疯了。
        以前最爱跟它一起看狗的电影了,一边看还一边数落它:你看人家也是狗,怎么就这么听话这么乖巧呢,你看看人家,又帅又聪明,你看看自己,难道不觉得害臊吗?!你不觉得你应该要向人家学习吗!……现在不敢看了,连照片都不敢看了,但今天实在受不了了,贴出来示众,看,就是这只畜生!——

博微博1.0发布:完整支持9种微博同步更新5个SNS网站的手机客户端(M8)

Filed under: 手机 — 标签:, — 动感咸鱼 @ 11:27 2010-04-04

软件特性:

1.支持9种微博服务的全功能,包括Twitter\新浪微博\嘀咕\做啥\人间网\Follow5\9911\同学网\中金在线

2.支持同步更新所有微博,以及5个SNS网站的状态,包括Facebook\开心网\人人\豆瓣(广播)\鲜果联播(动态)

3.支持所有微博拍照上传,就算本身没有图片上传功能的也会自动传到图片网站发上微博

4.支持扩展的微博功能,包括微博中的URL和图片获取等等

4.支持wap手机网络,数据经过压缩省流量,同步更新只需发出一条消息更省流量

1.0测试版说明:

1.微博功能基本齐全,但某些小众微博还有赖于他们API的公开程度,比如嘀咕的拍照上传接口得要专门申请(也不知找谁…),暂时先用着其它图片上传网站的;比如同学网虽然公开API但没公开注册,我也没有帐号测试,有帐号的同学可以试试~

2.如果有新的微博公开API,将会继续加入

3.有些API还在内测改来改去,遇到问题欢迎及时反馈

4.完全免费,将与软件公司合作推广到其它手机平台

下载地址:http://bbs.meizu.com/thread-1516711-1-1.html

16家央企继续掠夺房地产

Filed under: 漫画 — 标签: — 动感咸鱼 @ 09:06 2010-03-27

央企房地产:拿着人民纳的税,制造越来越多的“地王”,让这些纳税的人几辈子都买不起。

感谢国家

Filed under: 漫画 — 标签:, — 动感咸鱼 @ 11:13 2010-03-18

感谢国家

这一期的。某些人觉得“朕即国家”,动不动就要人谢主隆恩,真不要脸。

户口从娃娃锁起

Filed under: 漫画 — 标签:, — 动感咸鱼 @ 12:13 2010-03-13

发在本期《南方人物周刊》上,因13家媒体联合社论敦促户籍改革被和谐而作。

咸鱼茄子煲Salt 2.0测试版(M8)发布

Filed under: 手机,网络 — 动感咸鱼 @ 21:51 2010-03-03

简介:

咸鱼茄子煲(Salt)是一款Twitter+GoogleReader的手机软件客户端,无限多用户管理和多服务器管理,可自建服务器,除了Twitter和GoogleReader的大部分功能外,还扩展了预览图片、拍照上传、代理网页等功能。

————————————————————————————

主要更新:

1. 重写UI,模拟M8新的短信界面,改进操作体验。

2.增加“收藏夹”功能,可收藏不同账号、Twitter或GReader的不同页面,一键直达。

3.完善Twitter、GReader功能,包括官方锐推、GR自动标为已读、增删星标和共享。

4.新增WM版本。(真机测试有问题,推迟)

————————————————————————————

使用说明:

一、“煲!”菜单

操作主菜单,点工具栏“煲!”字样打开或关闭,菜单半开时点菜单顶部可完全展开。

前三项:

点左边,分别切换到Twitter、GReader和网页预览。

点右边,分别设置当前的Twitter账号、GReader账号和服务器。

第四项“+”号图标:

点左边,收藏工具,收藏当前所处的操作页面,如果是主页面则收藏当前的Twitter账号。

点右边,一些自动更新频率之类的基本设置。

第五项起:已收藏的操作页面,点击直接到达该页面,如果是账号则替换当前Twitter账号(因此如果有多账号,记得收藏起来)。

二、Twitter

顶上为用户工具栏,点击最右边图标在“用户信息”和“操作按钮”间切换。

工具栏操作按钮从左到右分别是:

1.打开用户信息界面,可修改更新资料。

2.打开消息类菜单,主消息、回复、锐推、收藏等等。

3.打开人物类菜单,好友和关注者。

4.打开推群类菜单,关注的、创建的、在内的。

5.打开搜索类菜单,普通搜索、中文搜索、用户搜索等等。

在消息列表中,点击可打开快捷菜单“回复”、“RT”、“更多”,点击“更多”打开详细菜单,包括用户信息、官推、收藏、标签、链接等等。

在人物列表中,点击进入该用户信息和消息列表,增加一个该用户的操作工具栏,点击查看该用户不同信息,其中:

“关注”或“取消关注”在点击最左边用户信息图标后打开操作;搜索图标为搜索该用户名。

底下工具栏中间“发推”按钮,打开后写消息发推、私信、上传图片。

图片可从手机中选择,也可直接拍照后自动上传到img.ly,成功后将自动返回一个图片链接。

三、GoogleReader

注意在填google账户时,不用填@gmail.com。

GoogleReader工具栏从左到右分别是:所有条目、星标条目、共享条目、标签列表、订阅列表、是否只显示未读条目。

点击条目出现星标、阅读、共享的快捷菜单,点阅读打开看详细内容,并自动标为已读。

四、WM版本

我没有真机,这是在模拟器上运行通过,希望有真机的同学帮忙测试一下。

注意WM版不能自动联网,请先让手机联网后再运行,另外拍照上传图片功能没法用,因为模拟器没法拍照~~

另外原来是按M8写的,分辨率固定是480X720,如果分辨率低的WM可能有问题。

总之还需要有人用真机试一下,我基本都没见过真机呢~

Update:真机测试无法运行,需要做更多改动,推迟~

五、自建服务端

文件在安装文件夹的server文件夹中,将之上传到支持curl的PHP空间即可。

index.php是没关系的,主要是lib里的文件,保持这个lib的文件夹名称,因为这个服务端我本来是跟“真理部内参”写在一起的,基本上是在内参服务端中加一个这个软件用的Salt.php,所以你也可以先建一个真理部内参,然后把这里lib文件夹中的文件都复制进去。

免费的PHP空间不难找,但好用的、没有禁太多函数的空间不太多,个人建议到Godaddy用几块钱注册个最便宜的域名,送的免费PHP空间非常好用,可以建真理部内参兼茄子煲服务端。

Update:现在第一个服务器咸鱼服务器用的是GD的免费空间,后来才发现上面的广告代码经常造成问题,要再研究下。如果出现获取数据出错等问题,请换用其它两个服务器——本来嘛弄了三个服务器就是怕这些不可预料的网络问题。

Update2:汗~打包出现点小失误,pic的路径写错了,注册Twitter停在获取验证码的请在安装文件夹下建立一个名为pic的文件夹。cab已重新打包,另加个绿色版

六、这个软件就不收费了,但赞助是欢迎的,支付宝:maoamaoamao@gmail.com

下载地址: M8cab版 M8绿色版

真理部内参:在中文推特圈中加入oAuth

Filed under: 网络 — 标签:, , — 动感咸鱼 @ 21:12 2010-01-01

  新年伊始,中文推特圈twitese作者向我发来了新年的问候:

  bang590: @iamzzm 有兴趣把OAuth登陆加到原版twitese吗~

  这实在是一件荣幸的事,但没信心直接参与原版,把代码和说明写在下面,作者可以自己加进去,或者有人写新的第三方时,应该可以参考一下。

oAuth需要翻墙,有什么用?

  1. 在第三方应用网站上,如果你觉得该网站不可靠,输入的用户密码也许会被该网站的拥有者记录窃取,那么使用oAuth就可以不用担心了:因为oAuth方式是通过直接登陆twitter官网,向第三方网站提供一个访问授权,而不是提供你的密码
  2. 虽然需要翻墙登陆twitter点击一次“同意”,但只需翻一次,直到退出登录或关闭浏览器。
  3. 使用oAuth可以自定义推的来源为“通过xxxx”,而不是大众脸的“通过web”。
  4. 使用第三方应用的理由并不仅仅是“不用翻墙”。白名单恐怖之下,当电信局的拨号软件老是打不开网页时,翻墙软件将成为真正意义上的拨号软件。

  2009是“推墙元年”,2010将由于白名单而成为“翻墙元年”,出于对twitter的热爱,我们除了免于翻墙的第三方,还可以做更多更好玩的第三方,在那堵墙上留下自己的涂鸦,就像当年留在柏林墙上的一样

  其实,我个人仅仅是为了能在推后面显示“通过真理部内参”才去研究oAuth的,基本过程就是把dabr的oAuth部分加到twitese中去,虽然大部分的代码我根本看不懂,但连猜带蒙不断试错善于google是我的特长,最后意外成功了,虽然只是一个菜鸟的成果,但权当新年礼物,送给有需要的人们:

config.php增加:

define(‘OAUTH_CONSUMER_KEY’, ”);
define(‘OAUTH_CONSUMER_SECRET’, ”);
define(‘OAUTH_CALLBACK_URL’, ”);

  这里定义oAuth的相关密钥,登陆https://twitter.com/oauth,新建一个程序,填好保存即可获得OAUTH_CONSUMER_KEY和OAUTH_CONSUMER_SECRET的内容,其中Callback URL一项是OAUTH_CALLBACK_URL的内容,指验证后返回的网址,一般填你的第三方所在网址后面加上/oauth,如http://nc.alwaysdata.net/oauth。

  为了搞懂/oauth什么意思花了我好多时间,原来这个叫“伪静态”,需要一个.htaccess文件,直接用dabr的就好了,里面有句RewriteRule ^(.*)$ index.php?q=$1 [L,QSA],意思大概是http://nc.alwaysdata.net/oauth其实就是http://nc.alwaysdata.net/index.php?q=oauth,所以

index.php增加:

<?php if(isset($_GET['q'])){if($_GET['q'] == ‘oauth’){user_oauth();}} ?>

  (真理部内参是写在login.php中然后包含进index.php的)
  这个user_oauth()是oAuth登陆主通道,也修改自dabr:

function user_oauth() {
  //OAuth.php直接来自dabr,大概包括oAuth的主要函数,未改,也读不懂~
  require_once ‘lib/OAuth.php’;
   session_start();

  if (isset($_GET['oauth_token'])) { //以下分支是验证后返回要做的事
     $oauth_token = $_GET['oauth_token'];
     $params = array(‘oauth_verifier’ = >$_GET['oauth_verifier']);
     $response = oauth_process(‘https://twitter.com/oauth/access_token’, $params);
     parse_str($response, $token);

    //$GLOBALS['oauthpass'] 好像是一组验证码电子签名之类的
     $GLOBALS['oauthpass'] = $token['oauth_token'].’|’.$token['oauth_token_secret'];
     unset($_SESSION['oauth_request_token_secret']);

    $user = oauth_process(‘https://twitter.com/account/verify_credentials.json’);
     if (!isset($user – >error)) { //登陆成功写入相关cookie,当然twitterPW不是真正的密码
       setEncryptCookie(‘twitterPW’, $GLOBALS['oauthpass']);
       setEncryptCookie(‘twitterID’, $user – >screen_name);
       setcookie(‘friends_count’, $user – >friends_count);
       setcookie(‘statuses_count’, $user – >statuses_count);
       setcookie(‘followers_count’, $user – >followers_count);
       setcookie(‘imgurl’, $user – >profile_image_url);
       setcookie(‘name’, $user – >name);

      setCookie(“bOauth”, “oauth”); //标明现在是在用oAuth登陆
       header(‘location: ../index.php’);
     } else {
       header(‘location: index.php?ln=error’);
     }
     exit();
   } else { //以下分支是为开始验证而做的准备
     $params = array(‘oauth_callback’ = >OAUTH_CALLBACK_URL);
     $response = oauth_process(‘https://twitter.com/oauth/request_token’, $params);
     if (($oauth_token = $_GET['oauth_token']) && $_SESSION['oauth_request_token_secret']) {
       $oauth_token_secret = $_SESSION['oauth_request_token_secret'];
     } else {
     list($oauth_token, $oauth_token_secret) = explode(‘|’, $GLOBALS['oauthpass']);
     }
     $token = new OAuthConsumer($oauth_token, $oauth_token_secret);
     parse_str($response, $token);

    $_SESSION['oauth_request_token_secret'] = $token['oauth_token_secret'];

    $authorise_url = ‘https://twitter.com/oauth/authorize?oauth_token=’.$token['oauth_token'];
     //带着oauth_token前往twitter.com要求验证
     header(“Location: $authorise_url”);
   }
}
//处理URL,跟原twitese中twitter.php的process()差不多
function oauth_process($url, $post_data = false) {略…}

//oAuth式登陆,基本看不懂,但改了一些
function user_oauth_sign( & $url, &$args = false) {略…}

twitter.php修改:
  首先要在class中加一个判断是否在用oAuth:

var $IsoAuth = false;

  然后通过twitter()判断$IsoAuth:

function twitter($username = ”, $password = ”, $BeoAuth = false)
{
  if($BeoAuth){$this->IsoAuth = true;}
   if ($username != ” && $password != ”) {
     $this->username = $username;
     $this->password = $password;
   }
}

  相应的,process()函数需要增加分支:

if($this->IsoAuth){
  if ($postargs) $postargs = array();
   $this->oauth_sign($url, $postargs);
   $ch = curl_init($url);
   if($postargs !== false) {
     curl_setopt ($ch, CURLOPT_POST, true);
     curl_setopt ($ch, CURLOPT_POSTFIELDS, $postargs);
   }
}else{略…}}

  另增加一个function oauth_sign(&$url, &$args = false) {略…}

  这时已经可以成功登陆获取数据,但发推出来的都是URL编码的字符,这我也不懂,dabr由于整个框架跟twitese大不相同也看不明白怎么解码,最后猜到用rawurldecode,在update、sendDirectMessage、updateProfile、createList、editList等函数中,return之前解码:

if($this->IsoAuth){$request = rawurldecode($request);}

twitese.php修改:

function getTwitter() {
  return new twitter(getEncryptCookie(‘twitterID’), getEncryptCookie(‘twitterPW’), user_type());
}
function user_type() {//通过cookie判断是否在用oAuth,bOauth由登陆时的user_oauth()写入
   if (isset($_COOKIE["bOauth"])) return true;
   else return false;
}

  退出登陆时记得delCookie(‘bOauth’);

  大概就是这些了,但有个问题好像是由于URL编码字节比中文多,造成中文字数受到更多限制,原dabr也存在这个问题,未解决~

  另外,上传图片功能需要向图片网站提供密码,oAuth没密码所以没法上传——也许可以在用户想上传图片时要求输入一次密码。

  真理部内参源代码: 说明 下载 SVN

  信息时代的闭关锁国正在开始,希望有关部门能多读点晚清历史借鉴一下,世事的转折点往往会突然出现,眼前的利益其实没有任何保证。2010,我将努力保持耐心、远离悲观,虽然无法像今天的香港同胞一样上街呐喊,但宅在家中,无论做的东西多么微小,也将继续做下去。