有人从soundcloud看这个吗?为什么我得到一个有效的请求403?Soundcloud下载超时
我正在使用Titanium构建iOS应用程序。
我包括一项新功能,允许用户下载的SoundCloud .mp3文件和应用程序(保存到应用程序目录)发挥他们
我写的一些曲目的做工精细的代码,但不适用于其他人。客户端无限制地下载所有曲目,并且我最大限度地增加了最大超时时间,并且它仍然只下载约170个字节,然后在一些曲目上失败。在其他人下载整个曲目没有问题。真的难住这个,任何人有任何想法?
下面是代码,也是一个跟踪工作的例子,如果有人可以看到差异,一个不工作的例子?
感谢
贾斯汀
//Download code
var newDir = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory,'scDownloads');
newDir.createDirectory();
var id = fStripped;
var dlXhr = Titanium.Network.createHTTPClient({
timeout : 500000});
dlXhr.onload = function(){
var file = Ti.Filesystem.getFile(newDir.resolve(),id +'.mp3');
Ti.API.warn('file is: ' + file);
file.createFile();
file.write(this.responseData);
}
dlXhr.open('GET',dlURL + '?client_id=' + soundcloudClientID);
dlXhr.send();
而且这里有几个曲目(与客户端ID)
这一个工程:https://api.soundcloud.com/tracks/60943956/download?client_id=7a0984726d0eefbb310771c4c02116a8
这一个不:https://api.soundcloud.com/tracks/63980557/download?client_id=7a0984726d0eefbb310771c4c02116a8
我测试过这个的SoundCloud的API控制台上(http://developers.soundcloud.com/console),得到了以下内容:
HTTP 1.1 302移动/暂 访问控制 - 暴露 - 接头: 日期 X-运行时间:年龄:的Content-Length: X缓存的: NO:缓存控制=无缓存 位置: GDA = 1351783496_b465064be1b41027a7a0bf6067d83169" > http://ak-media.soundcloud.com/kw7JNYi7HtCq? AWSAccessKeyId = AKIAJ4IAZE5EOI7PA7VQ &到期= 1351783496 &签名= UNtBsSfBh1XNvXPLSLNV zTQEclY%3D & GDA = 1351783496_b465064be1b41027a7a0bf6067d83169 访问控制允许的方法: GET,PUT,自检,DELETE 连接: 接近 服务器: nginx的 X-缓存: MISS 的Cache-Control: 没有-cache X-光油:访问控制允许报头: 接受,授权,内容类型,产地 日期: 星期四,2012 GMT 15时24分36秒 访问控制 - 允许 - 年11月1起源: * Via: 1.1 varnish Content-Type: application/xml;字符集= UTF-8
302 - 实测值
我还添加了Ti.API.debug(e.error);到dlXhr。onerror函数我已经创建,并且这只是返回
道森嗨,我将添加onError的功能,只是还没有得到那么远呢,流媒体已经在应用程序和工作正常(有一个版本,现在没有问题住),这里的要点是下载问题是一致的,而不是随机的。某些轨道工作,其他人不会让我想知道这是否与Soundcloud有关。 –
所以我刚刚捕获了一个错误....它是无用的。 {source =“[object TiNetworkClient]”; type = error;这是从字面上说,所有它说 –
如果你看看client.status,你会看到你得到了一个403. –