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

最近的折腾


各种折腾·androidarchlinuxkdelinuxscriptweb

本文发表于超过180天以前,部分内容可能已经失效

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自动签到,很方便。

#!/usr/bin/python
# encoding:utf-8

import cookielib, urllib2, urllib, StringIO, gzip, os, time
import sys

if len(sys.argv) != 3:
    exit(0)

LOG = True
LOG_FILE = os.environ['HOME'] + '/scripts/xiami/xiami_signin_log'

SIGNIN_HEADERS = {
    'Accept' : '*/*',
    'Accept-Charset' : 'UTF-8,*;q=0.5',
    'Accept-Encoding' : 'gzip,deflate,sdch',
    'Accept-Language' : 'en-US,en;q=0.8',
    'Connection' : 'keep-alive',
    'Content-Length' : 0,
    'Content-Type' : 'application/x-www-form-urlencoded',
    'Host' : 'www.xiami.com',
    'Origin' : 'http://www.xiami.com',
    'Referer' : 'http://www.xiami.com/',
    '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',
    'X-Requested-With' : 'XMLHttpRequest'
}

LOGIN_HEADERS = {
    'Accept' : 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
    'Accept-Charset' : 'UTF-8,*;q=0.5',
    'Accept-Encoding' : 'gzip,deflate,sdch',
    'Accept-Language' : 'en-US,en;q=0.8',
    'Cache-Control' : 'max-age=0',
    'Connection' : 'keep-alive',
    'Content-Type' : 'application/x-www-form-urlencoded',
    'Host' : 'www.xiami.com',
    'Origin' : 'http://www.xiami.com',
    'Referer' : 'http://www.xiami.com/member/logout',
    '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',
}

LOGIN_DATA = {
    'done' : 'http://www.xiami.com/',
    'type' : '',
    'email' : sys.argv[1],
    'password' : sys.argv[2],
    'submit' : '登 录'
}
signin_url = 'http://www.xiami.com/task/signin'
login_url = 'http://www.xiami.com/member/login'

TIMEOUT = 100

def do_sign(data):
    success = True
    try:
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
        urllib2.install_opener(opener)
        request1 = urllib2.Request(login_url, data = urllib.urlencode(data), headers = LOGIN_HEADERS)
        rev1 = urllib2.urlopen(request1)

        request2 = urllib2.Request(signin_url, headers = SIGNIN_HEADERS, data = {})
        rev2 = urllib2.urlopen(request2)
        res = get_raw_content(rev2)
    except:
        success = False

    if success and len(res) > 100:
        success = False

    if LOG:
        log_file = open(LOG_FILE, 'a')
        log_file.write('%s %s signin %s\n' % (time.strftime('%Y-%m-%d %H:%M:%S'), data['email'], str(success)))
        log_file.close()

    if not success:
        time.sleep(TIMEOUT)
        do_sign(data)

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命令搞定。

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"
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/

赞助我

2条评论

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

    回复

评论

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

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

取消 上传图片 或拖拽上传

* Some files will not be uploaded. Only png, gif, jpg are allowed and maximum 10 images, each file less than 10M.

你可以添加 10 个 png/gif/jpg 图片 (每个文件小于 10M)

允许使用以下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

更多相似文章