"亲,访问受限了"——利用虾米网新版gethqsong时可能遇到的新问题

自从虾米跟了淘宝, 对用户不利的事件就陆续出现, 先是虾米账号强制转移成淘宝账号(被用户强烈反对后改为自愿), 后是在线购买下载的新功能必须是淘宝账号才能开通使用(引诱用户转移成淘宝账号, 还赠送3个月VIP…反正目前我还是没转移成淘宝账号).

今天晚上玩舰娘时感觉VPN有点吃力, 于是换了个服务器, 结果我一直开着的虾米播放器就停止播放音乐了, 开始还以为是网络问题, 看了下Chrome的Network记录, 事情的真相竟然是这样的:

Request Headers

Remote Address:42.156.140.238:80
Request URL:http://www.xiami.com/song/gethqsong/sid/1769866638
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:/
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-CN,zh;q=0.8
AlexaToolbar-ALXNSPH:AlexaToolbar/alxg-3.2
Connection:keep-alive
Cookie:*
Host:www.xiami.com
Referer:http://www.xiami.com/play?ids=/song/playlist/id/1769410676/objectname/default/objectid/0
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1941.0 Safari/537.36

Response Headers

Cache-Control:no-cache
Cache-Controli:must-revalidate
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html
Date:Tue, 13 May 2014 12:03:51 GMT
Pragma:no-cache
Server:Tengine
Transfer-Encoding:chunked
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.10

Response

<!DOCTYPE html>  
<html>  
    <head>
        <meta charset="gbk" >
        <meta http-equiv="x-ua-compatible" content="IE=Edge,chrome=1">
        <title>亲,访问受限了</title>
        <link rel="stylesheet" type="text/css" href="http://g.tbcdn.cn/tb/err/0.0.2/layout.css"/>
    </head>

    <body><script>
with(document)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute

("exparams","category=&userid=&aplus&yunid=&asid=AAAnCnJTL5Y4RDe8uBc=",id="tb-beacon-aplus",src=

(location>"https"?"//s":"//a")+".tbcdn.cn/s/aplus_v2.js")
</script>

    <h1><script src="/alisec/captcha/changelogo.js" type="text/javascript"></script></h1>
        <div class="content">
            <script type="text/javascript">
             function refreshCode() {
                 document.getElementById

("J_CheckCode").src="http://regcheckcode.taobao.com/auction/checkcode?

sessionID=*=" + (new Date()).getTime()+'"';  
             }
            </script>

            <div class="msg e needcode">
                <p class="gududezhanwei"></p>
                <p class="youxianchupin">
                    亲,慢慢来,请先坐下来喝口水!<br>我们马上回来。<br><br>为保证您的正常访问,请输入下图

中的文字内容:
                </p>
                <p class="fanrendedongxi" style="display: block;">
                <form action="/alisec/captcha/tmdgetv3.php" method="post">
                        <p>
                            <input class="checkcode" name="code" type="text" id="check" />
                            <img width="85" height="35" id="J_CheckCode" 

src="http://regcheckcode.taobao.com/auction/checkcode?sessionID=*" 

align="absmiddle">  
                            <a href="#" onclick="refreshCode()" class="newCheckCode">看不清换一张</a><br>
                            <input class="submit" type="submit" value="提  交">
                            <input name="sessionID" value="e939772b9744c1dabb22400d65322808" 

type="hidden">  
                            <input name="apply" value="xiami" type="hidden">
                            <input name="referer" 

value="http://www.xiami.com/song/gethqsong/sid/1769866638" type="hidden">  
                        </p>
                    </form>
                </p>
                <br/>
                <div style="text-align: right; color:#bcbcbc;" >页面位置: www.xiami.com </div>
            </div>

        </div>
<iframe scrolling="no" align="left" frameborder="0" width="100%" height="100%" 

src="/alisec/captcha/foot.html"></iframe>  
    </body>
</html>  

卧槽尼玛这是什么东西! 淘宝的访问受限页面? 我直接打开gethqsong的页面把验证码输完点击提交, 问题才解决, 音乐播放器又回到了正常.

Google后发现这个问题早在4月21日就有人遇到过, 而且简单推测是在虾米全站都有可能出现: http://kuang.xiami.com/group/thread-detail/tid/901427

可以了解到, 现在如果快速访问虾米网的页面, 可能导致IP受限, 需要输入验证码才能解锁, 这个问题甚至在你进行常规操作时也会遇到. 还有就是变更IP也可能导致该页面出现, 具体原因不详, 总不能是因为你改的IP地址正好有人在折腾虾米所以违规受限了吧.

于是XiamiThief之类的软件又开始艰难了, 为了解决这个问题, 可能需要用户在下载一些音乐后, 手动填写验证码才能继续(不要让我尝试什么OCR解决方案, 过验证码我不在行, 何况是淘宝的验证码).

在虾米被淘宝收购并改版之前, 虾米一向是采取Ban IP一段时间或者放出虚假页面的”友好手段”, 现在的虾米已经升级到填写验证码的地步, 黑科技的利用变得比以前更为艰难了. 实际上, 出现访问受限是不正常的, 最好虾米或者淘宝能够自己解决这个问题.

新发现: 访问受限的情况会在一段时间后自动恢复. 现在只要输入正确的验证码, 就可以继续从gethqsong得到高音质下载地址, 不知道算好事还是坏事.

PS: 话说淘宝大哥你要真这么有范, 啥时候帮虾米把波丽佳音的版权问题解决了呗.

PS2: 最近XiamiThief的开发再次受到AngularJS框架的阻挠, 博主正在想方设法解决(这就是不用常规开发技术的后果).

最后贴一下这几天在循环的几首BGM: