关于我
 

xjpvictor's Blog
小老鼠,上灯台,两只耳朵竖起来

最近的折腾


各种折腾·androidarchlinuxkdelinuxscriptweb

本文最后编辑于超过4081天以前,部分内容可能已经失效

KDE的opengl屏保算是自带屏保里最好看的了,但是退出屏保的时候会挂掉X,于是在这个论坛里找到解决方法,在desktop effect里把suspend for fullscreen windows给取消了,就好了。估计是kwin把屏保当作了全屏程序,然后suspend了desktop effect,然后又不知道哪里没处理好,退出屏保的时候就挂了。

然后bumblebee因为kernel升级,找不到nvidia这个module了。于是重新安装dkms-nvidia这个包,解决。然后把 dkms_autoinstaller 加到 /etc/rc.conf 的daemon里,就能每次升级内核以后自动安装nvidia module了。参考archlinux forum

galaxy tab最近升级了,不知道是很久没更新还是三星真的在短时间内推出了很多更新,我收到了三次更新提示,就是更新完了重启了又提示要更新,我还以为是没成功,结果发现每次更新下载的包大小不一样,才知道是不同的更新。更新的时候重启以后会在samsung的logo那里闪很久很久,但是还好没什么问题。更新后版本仍然是3.1,而且没什么特别的改动,甚至觉得有点变慢了,希望是心理作用。

这个博客看到一个python脚本,用于虾米网的自动签到。虾米网下歌要虾币,0.8虾币一首歌,有钱可以充值,1软妹币换1虾币,要不就天天签到,连续签到7天,30天,365天会送虾币,但有时会忘记,就得从头来过了,所以用这个脚本放到vps上用cron自动签到,很方便。

  1. #!/usr/bin/python
  2. # encoding:utf-8
  3. import cookielib, urllib2, urllib, StringIO, gzip, os, time
  4. import sys
  5. if len(sys.argv) != 3:
  6. exit(0)
  7. LOG = True
  8. LOG_FILE = os.environ['HOME'] + '/scripts/xiami/xiami_signin_log'
  9. SIGNIN_HEADERS = {
  10. 'Accept' : '*/*',
  11. 'Accept-Charset' : 'UTF-8,*;q=0.5',
  12. 'Accept-Encoding' : 'gzip,deflate,sdch',
  13. 'Accept-Language' : 'en-US,en;q=0.8',
  14. 'Connection' : 'keep-alive',
  15. 'Content-Length' : 0,
  16. 'Content-Type' : 'application/x-www-form-urlencoded',
  17. 'Host' : 'www.xiami.com',
  18. 'Origin' : 'http://www.xiami.com',
  19. 'Referer' : 'http://www.xiami.com/',
  20. 'User-Agent' : 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Ubuntu/10.04 Chromium/11.0.672.2 Chrome/11.0.672.2 Safari/534.20',
  21. 'X-Requested-With' : 'XMLHttpRequest'
  22. }
  23. LOGIN_HEADERS = {
  24. 'Accept' : 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
  25. 'Accept-Charset' : 'UTF-8,*;q=0.5',
  26. 'Accept-Encoding' : 'gzip,deflate,sdch',
  27. 'Accept-Language' : 'en-US,en;q=0.8',
  28. 'Cache-Control' : 'max-age=0',
  29. 'Connection' : 'keep-alive',
  30. 'Content-Type' : 'application/x-www-form-urlencoded',
  31. 'Host' : 'www.xiami.com',
  32. 'Origin' : 'http://www.xiami.com',
  33. 'Referer' : 'http://www.xiami.com/member/logout',
  34. 'User-Agent' : 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Ubuntu/10.04 Chromium/11.0.672.2 Chrome/11.0.672.2 Safari/534.20',
  35. }
  36. LOGIN_DATA = {
  37. 'done' : 'http://www.xiami.com/',
  38. 'type' : '',
  39. 'email' : sys.argv[1],
  40. 'password' : sys.argv[2],
  41. 'submit' : '登 录'
  42. }
  43. signin_url = 'http://www.xiami.com/task/signin'
  44. login_url = 'http://www.xiami.com/member/login'
  45. TIMEOUT = 100
  46. def do_sign(data):
  47. success = True
  48. try:
  49. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
  50. urllib2.install_opener(opener)
  51. request1 = urllib2.Request(login_url, data = urllib.urlencode(data), headers = LOGIN_HEADERS)
  52. rev1 = urllib2.urlopen(request1)
  53. request2 = urllib2.Request(signin_url, headers = SIGNIN_HEADERS, data = {})
  54. rev2 = urllib2.urlopen(request2)
  55. res = get_raw_content(rev2)
  56. except:
  57. success = False
  58. if success and len(res) > 100:
  59. success = False
  60. if LOG:
  61. log_file = open(LOG_FILE, 'a')
  62. log_file.write('%s %s signin %s\n' % (time.strftime('%Y-%m-%d %H:%M:%S'), data['email'], str(success)))
  63. log_file.close()
  64. if not success:
  65. time.sleep(TIMEOUT)
  66. do_sign(data)
  67. do_sign(LOGIN_DATA)

稍微做了点改动,把原来的“登录”两个字改成了utf-8的编码,不然会出现无法decode的问题,然后把log去掉了,因为log并不能体现是否成功签到。需要用python2执行,试过用2to3转化成python3的代码,但是无法签到,所以还是需要用python2。会提示有错误,但实际上已经成功签到了,因为不懂python代码,就凑合用了。

Update 27-11-2011: 嗯,罗杰斯很给力,更新了那个脚本,现在能判断是否成功签到,失败的话就再试一次。

Update 08-12-2011: 貌似失效了,我的就没法签到了。

Update 15-12-2011: 其实不需要python这么麻烦了,直接两个curl命令搞定。

  1. curl -c ~/cookie.txt --user-agent "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60" --referer "http://www.xiami.com" -d "email=xxx@yyy.zzz&password=******&submit=登 录" "http://www.xiami.com/member/login"
  2. curl -b ~/cookie.txt --user-agent "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60" --referer "http://www.xiami.com/web" "http://www.xiami.com/web/checkin/id/xxxxxx"

第一行是登录,第二行是利用手机版的虾米网站签到。普通版的签到是使用一个javascript,没法用curl执行,不过手机版的签到就简单了,只是打开一个链接而已,id后面改成自己的id就行,就是打开虾米的个人主页,最后的那一串数字。签到的时候必须有referer,大概虾米会进行一些检查什么的。

本文 "最近的折腾" 由 K. Huang 首先发表于 xjpvictor's Blog 并以 CC BY-NC 4.0 许可证发布 © 2011
转载注明引用来源 https://blog.xjpvictor.info/2011/11/recent/


推广:使用 DigitalOcean 搭建属于你自己的博客,每月低至 5 美元,全球多数据中心,稳定高速

打赏我

2条评论

  1. 唔,这个脚本我忘记更新了,加入了判断是否签到成功的代码。现在更新到博客上面了,你可以再看看。

    回复

评论

你的邮箱地址不会被公开。必填项以 * 标出

无意义或不相关评论将被删除

允许使用以下html标签:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

你可以上传文件,粘贴代码或长文至 Drop.it.r

本博客是言论不自由博客,评论只接受询问及赞同,不同观点请出门左转微博/发表于自己的博客。谢谢合作!

评论意味着你 同意 上传部分私人数据,包括邮箱和 IP, 这些数据不会被分享给第三方,不会用于商业用途或再推广用途。

更多相似文章

 

隐私设置 [关闭]


开博客就是为了装逼,装逼自然要支持 GDPR 隐私政策。请选择以下的隐私设置: