摘要:
我希望将一个网页的第一个4kB(实际上是MP3,但无所谓)从另一个域保存到JavaScript中的变量,理想情况下没有jQuery,因为我不需要jQuery用于其他任何内容我的页面。 这是我之前在python应用程序中用于实现相同目标的内容:
host = 'http://www.wikipedia.org/somepath/tosome/file.mp3'
req = urllib2.Request(host, headers={'User-Agent' : "Magic Browser"})
response = urllib2.urlopen(req).read(4*1024)
背景:
我的目标是获取几千字节的MP3文件(来自不同的域名),这样我就可以从中删除ID3信息。然而,经过大量的谷歌搜索,并搞乱了xmlhttprequests,jsonp和其他一些东西,我仍然无法找到满足我所有要求的东西。 阅读此帖后Basic example of using .ajax() with JSONP? 真的很有帮助,但我似乎无法弄清楚如何限制类似的东西的回调大小(可能限制脚本源大小?)我真的不想要包含jQuery库。
非常感谢任何帮助!
答案 0 :(得分:1)
注意:我发布的解决方案包含javascript + php。但是您可以使用任何其他编程语言,例如python(只有语法更改。而不是逻辑)。
。使用Ajax调用服务器中的php文件
。在你的服务器端php文件:
使用curl读取跨域html。
$url = "http://www.google.com;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($curl);
curl_close($curl);
。然后使用PHP的DOM对象模型来解析HTML - (http://php.net/manual/en/domdocument.loadhtml.php)。
例如:
$domObj = new DOMDocument;
$domObj->loadHTML( $output);
$divs = $domObj->getElementsByTagName('div');
。将o / p html内容返回给客户端。
。最后将ajax响应(html)收集到本地javascript变量中。