0

概要:

Webページの最初の4kB(実際にはMP3ですが、重要ではありません)を別のドメインからJavaScriptの変数に保存しようとしています。これは、ページ上の他の場所に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、およびその他のいくつかのものをいじった後でも、すべての要件を満たすものを見つけることができません。この 投稿を読む-JSONPで.ajax()を使用する基本的な例? 本当に役に立ちましたが、そのようなもののコールバックサイズを制限する方法を理解できないようです(おそらくスクリプトのソースサイズを制限しますか?)そして私は本当にjQueryライブラリを含める必要はありません。

どんな助けでも大歓迎です!

4

1 に答える 1

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 /phtmlコンテンツをクライアント側に戻します。

。最後に、ajax応答(html)をローカルのjavascript変数に収集します。

于 2013-01-12T17:10:43.150 に答える