MENU

百度云网盘下载页面修改对比及解决方案

June 27, 2013 • 程序

今天整个下午都在重新安装系统,折腾完了,去小站上下点东西,结果发现自己写的云直连接口不能用了,header回客户端url后,百度服务器返回了json格式的错误码。

粗略地扫了一眼返回的url,立刻就发现了问题所在:原来直白的url现在嵌入了html特殊符号标记,用来连接get参数中的“&”改为了“&”。既然研究出来了修改了哪里,这好办。只需在程序发送header头之前加一句话即可:

str_replace('&', '&', $url);

修改完了直连代码,测试一下,嗯,可以了。多瞟了一眼现在的url,发现好像和以前不太一样哦。举例说明:百度云网盘修改之后的url举例:

http://d.pcs.baidu.com/file/edf15c868fc769993e1d5b0d30a3e927?fid=3306491240-250528-2383779433&time=1372346724&sign=FDTAR-DCb740ccc5511e5e8fedcff06b081203-%2FIO7N6X2o1sGosFtHT0%2But6DyBc%3D&rt=sh&expires=8h&r=799131684&sh=1&response-cache-control=private

可以发现多了response-cache-control这一参数。实际的探究中发现某些文件还会包含filename参数。response-cache-control可知是Cache Control缓存控制的定义,作用应该是避免下载过程中出现的一些问题。而filename参数从字面上来理解是定义文件名的,目前来说意义不明。

百度的动作使得已写好的代码失效,这确实挺棘手。但谁叫咱用了呢?所以该改还是得改啊。不过推断来看,在下载链接方面百度应该不会有太大的动作,否则之前大量的链接将会处于一个难堪的境地。本次云网盘改动过后直连的处理方法还是很简单,不知道之后会有什么更大的改动,亦或是不改呢?我们就不得而知了。

用了云网盘直连的你,改代码了吗?

Tags: php
Archives Tip
QR Code for this page
Tipping QR Code