私は自分のサイトで jQuery jPlayer 円形スキンを使用してリモート URL を再生しています。URL が特定のドメイン ( http://prob.lemと呼びます)からのものである場合を除いて"NetworkError: 403 Forbidden - http://prob.lem/upload_music/7154816.mp3"
、次のコードは問題なく動作します。ブラウザを使用するか、wget を使用して mp3 をダウンロードしても問題ありません。jQueryに関する私の知識は限られています.jQuery jPlayerが通常のブラウザまたはwgetとは異なる方法でリクエストを送信し(間違っていますか?)、他のブラウザがそれを検出してコンテンツの提供を拒否していると思います。
問題は、私の推測が正しければ、jPlayer が引き続きコンテンツを取得するという私のサイトからの回避策はあるのでしょうか? 私の推測が間違っていた場合、他にどこを見ればよいでしょうか? ありがとう、
<script type="text/javascript">
//<![CDATA[
var $j = jQuery.noConflict();
$j(document).ready(function(){
var myCirclePlayer = new CirclePlayer("#jquery_jplayer_1",
{
mp3: "http://prob.lem/upload_music/7154816.mp3"
}, {
cssSelectorAncestor: "#cp_container_1",
supplied: "mp3",
swfPath: "wp-content/plugins/magic-media-box/js/Jplayer.swf",
wmode: "window",
keyEnabled: true,
});
});
//]]>
</script>
また、以下は firebug からのリクエスト情報です。
Response Headers
HTTP/1.1 403 Forbidden
Date: Tue, 23 Jul 2013 20:24:25 GMT
Server: Apache
Content-Length: 291
Connection: close
Content-Type: text/html; charset=iso-8859-1
Request Headers
GET /upload_music/7154816.mp3 HTTP/1.1
Host: prob.lem
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6,*/*;q=0.5
Accept-Language: en-US,en;q=0.5
Range: bytes=0-
Referer: http://my.site/index.php/category/ktv/
Connection: keep-alive
Firefox で直接リンクを開くと、リクエスト情報が異なって見えます。
Response Headers
HTTP/1.1 200 OK
Date: Tue, 23 Jul 2013 20:34:12 GMT
Server: Apache
Last-Modified: Sun, 21 Jul 2013 23:05:06 GMT
Etag: "1b2803e-b5ffef-4e20d97386aba"
Accept-Ranges: bytes
Content-Length: 11927535
Connection: close
Content-Type: audio/mpeg
Request Headers
GET /upload_music/7154816.mp3 HTTP/1.1
Host: prob.lem
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
私が見ることができるのは、リクエストヘッダーでは、Accept
とAccept-Encoding
文字列が異なるため、応答が異なることです。jQuery jPlayer に Firefox ブラウザーと同じヘッダーを送信させることはできますか?
ありがとう、