• ベストアンサー

Perlで着メロDLカウント

Perlで着メロをダウンロードさせカウントするスクリプトを書いたのですが、 J-PHONEでmmfファイルをダウンロードすると「REP310 J-PHONEではページを表示できません」というエラーが出てDLできません。 2000サーバーでIISのMIMEは既に登録済みです。 また、DoCoMoのmldは問題なくDLできカウントできます。 スクリプトはHTTP_USER_AGENTとホストで判定し、 J-PHONEの場合はHTTP_X_JPHONE_SMAFで和音数を調べて、 カウントしてからLocationでファイルの絶対パスへ飛ばしてます。 ちなみに、ケータイに直でパスを入れるとダウンロードできます。

  • Perl
  • 回答数8
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.8

再度確認です。 -- ソース -- (カウント処理) open(IN,"hoge.mmf"); binmode IN; $src = join("",<IN>); close(IN); binmode STDOUT; print "Content-Type: application/x-smaf\n\n"; print $src; exit; __END__ で、 拡張子に .mmf を付けてアクセスして NG でしょうか? エラーコードも同じですか?

zxfgrhg
質問者

お礼

やりました。できました。 何が悪かったのかよくわかんなかったんですが、 とりあえず、間に合ったのでこれから調べます。 ご回答くださいました皆さん有難うございました。

その他の回答 (7)

  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.7

あ、すみません。 肝心な事を忘れていました。 J-SKY って MIME だけでなく拡張子も見るんですよ。 その CGI のお尻に .mmf を付けてみてください。 例えば、 ~/mero.cgi?mefo.mmf ~/mero.cgi/mero.mmf みたいな感じです。 これ、何回ハマっても忘れてしまう... X-(

zxfgrhg
質問者

補足

ダミー拡張子ですね。 png画像とかもそうですよね。 それも試したんですが、どうにも動いてくれません…

  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.6

> ソースをコピペ あー、Windows でしたら binmode の記述は必要ですよ。 それで再度試して頂けませんか?

zxfgrhg
質問者

補足

binmodeにした場合も試してましたがやっぱり変わらなかったです。

  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.5

度々申し訳ありません。 最初の質問に IIS と書いてありましたね・・・ HTTPD に MIME を登録しても CGI で出力するヘッダは明示的にしてあげないとダメですよ。

zxfgrhg
質問者

補足

こちらこそ度々すいません。 そうなんです。IISです。 デーモンにもMIMEを登録して、CGIでヘッダを出力してもやっぱりできないです。

  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.4

すみません、自己レスです。 > バイナリファイルなので open した時に join でくっつけているのですが。 これ、よく意味が解りませんね。 とりあえずバイナリファイルは改行は改行として扱わないフォーマットですので join("", <IN> ); としてデータを一つの変数内に代入してるだけです。 配列をまんま出力して問題なければそれでいいと思います。 binmode を使ってるという事は Windows なんでしょうか? 試してみよう・・・

  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.3

mmfファイルのヘッダは Content-Type: application/x-smaf だと思うのですが・・・ それと、配列ってまんま出力していいんでしたっけ? バイナリファイルなので open した時に join でくっつけているのですが。 FreeBSD 4.4-RELEASE と Apache 1.3.27 の環境では問題なく動作してますよ。No.2 のソースで。

zxfgrhg
質問者

補足

ありがとうございます。 ソースをコピペしてファイルへのパス等変更して吐き出してみたんですけど、 やっぱりREP310のエラーメッセージです。 先程のソースでヘッダを変更してみてもやっぱりDLできませんでした。

  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.2

そのCGIで直接mmfファイルを出力してはどうでしょう? (カウント処理) open(IN,"hoge.mmf"); $src = join('',<IN>); close(IN); print "Content-Type: application/x-smaf\n\n"; print $src; exit; ダメですか?

zxfgrhg
質問者

お礼

回答ありがとうございます。 open ML,$J_file; binmode ML; my @tmp = <ML>; close ML; binmode STDOUT; print "Content-disposition:attachment; filename=\"$J_file\"\n"; print "Content-type: application/octet-stream\n\n"; print @tmp; としてみたんですが、どうにもできないんですよね。 なんなんでしょうか?

zxfgrhg
質問者

補足

open ML,$J_file; binmode ML; my @tmp = <ML>; close ML; binmode STDOUT; print "Content-disposition:attachment; filename=\"$J_file\"\n"; print "Content-type: application/octet-stream\n\n"; print @tmp; として直接ファイルを吐かせてみたんですがうまくいきません。

  • so_blue
  • ベストアンサー率48% (50/104)
回答No.1

J-PHONEはLocationに制限があるようです。 ちょっと探せなかったですが、J-PHONEのサイトに 仕様が載っているかもしれません。

参考URL:
http://ponta.kit.to/doc/develop/
zxfgrhg
質問者

お礼

ご回答有難うございます。 参考サイトを見させて頂きました。 やっぱりLocation周りですか。 このヘッダを流してるのは一度なのですがその辺りももう少し調べてみます。

zxfgrhg
質問者

補足

J-PHONEの参考資料(PDFファイル)を読んだのですが、ここにはLocation等ヘッダに関するものやPerlなどプログラム関連の記述はありませんでした。

関連するQ&A

  • 着メロの容量

    SMAF対応の着メロを作っているのですが その機種が16和音か40和音というのはわかるのですが 実際にダウンロード可能なサイズがわかりません。 ネット上、くまなく調べたのですが、どこにものってなくて・・・ 高品質な着メロを作っているので、そこが悩みの種です。 今、知りたいのは、下記のとおりです。 ・携帯から直接リンクからのダウンロードによる、ダウンロード可能容量 ・メール添付をして、ダウンロード可能な容量 ・できれば、海外の携帯電話の情報も知りたい 参考までに、うちの使っている携帯は約21k、auの某機種では 30kぐらい、J-SKY研究所のガイドラインでは5850バイト以内(16和音)に 作ることが奨励されています。

  • j-phoneの着メロ...

     J-PHONEのT-06を使っているのですが、何かいい着メロのサイトは無いでしょうか?基本的に少しマイナーなJ-POPをダウンロードしたいんですが、できるだけ音のいい16和音で一曲何円というものがいいんです。良いアドバイスがありましたらお願いします。

  • J-phoneのSHO5の着メロについて

    私はJ-phoneのSHO5という新しい機種の携帯を使用しています。J-phone専用の着メロサイトがあり、通話料だけで着メロをGETできます。でも、そこからもらった曲はすべて3和音なんです。せっかく16和音対応の機種なんだから16和音の着メロがほしいんです。SHO5に対応した、16和音の着メロはどこからダウンロードしたらいいでしょうか?いくつかサイトを教えてもらえませんか?それと、曲をウェブで見つけても、どうすればそれを着メロとして携帯に登録するのかがわかりません。この質問にも返事をくれると嬉しいです。 情報待ってます。

  • オールディーズの着メロ

    Boys Town Gangの「君の瞳に恋してる」とChordettesの「ロリポップ」の16和音着メロのダウンロードできるサイトってないですか?できれは1曲30円くらいがいいのですが。 機種はJ-PHONE SH-07です。J-SKYの「Oldies好き!」で検索しても見つからないです。別々のサイトでもいいです。よろしくお願いします。

  • mp3から着メロへ

    psmプレイヤーで変換して携帯へ送りましたが、容量を超えていたので、全てファイルが削除されてしまいます。 はさみのアイコンをクリックすると、再生・変換範囲指定をしてカットすれば良いのでしょうか?カウンタ値というのがいまいちわかりません。 もう一つあるんですが、SMAFファイル形式に変換する際 40・16・4和音でそれぞれj-skyとez-webにわかれているんですが、違いがよくわかりません。 持っている携帯の機種はj-N05です。 詳しい方教えて下さい。よろしくお願いします

  • J-PHONE SH02の着メロについて

    n_nと申します。 初めて質問させていただきます。よろしくお願いします。 ちょっと古いのですが、J-PHONEのSH02を使っています。 着メロをダウンロードしたものを着信音の設定で再生すると、ちゃんと和音で再生されるのですが、実際に着信があったときには単音でしか再生されません。 和音で再生されるようにする設定とかあるのでしょうか?

  • PIERROTの着メロサイト

    PIERROTのアルバム曲などのシングル以外の着メロが ダウンロードできるJ-PHONE対応のサイトがあったら教えてください。 ちなみに自分のは16和音ですがそうじゃなくてもかまいません。 シングルはいっぱいあるのですが他の曲が見つかりません。 お願いします。

  • J-PhoneのSH03で4和音着メロをたくさん無料掲載しているサイトを教えてください

    はじめまして。 私はJ-PhoneのSH03を使っているんですが、最近16和音対応機種が増えてきて、4和音着メロの影が薄くなってしまったのか、あまり4和音着メロをたくさん掲載(無料ダウンロードできる)しているサイトがあまりないように思います。 もしたくさんの4和音着メロ(投稿着メロで十分)を掲載しているサイトをご存知であれば、教えていただけないでしょうか。 よろしくお願いいたします。

  • 携帯電話の着メロを持っているCDから作りたい

    表題の通り、携帯電話の着メロを自分の持っているCDから作れると聞いたので、ネットで探したところ作り方を見つけました。 試してみたところ「対応していないデータのため表示されません。」 となってしまいました。 WAVEファイルをSMAFに変換してMMFにしてメールで転送。 というやり方だったのですが、電話の機種によっては MLDというタイプがある・サーバーに上げてDLしないと着メロにならない。 など個々で違うということを知りました。 ちなみに友人の携帯(ソフトバンク・機種は不明です)では音が鳴ったそうです。 できれば、自分の携帯でも音を鳴らしてみたいので、教えていただけないでしょうか。 個人利用しかしません。 ちなみにパソコンは初心者です。 携帯電話は docomo N-03D 使ったソフトは CD2WAV32 WSC-MA2-SMAF ATS-MA2-SMAF です。 よろしくお願いします。

  • ジオシティーズのHP作成でsmdファイルがアップロードできません

    HPで携帯(JPHONE)の着メロをダウンロードできるように したいのですが、どうしてもSMDファイルがアップロードできません。”拡張子が違います”とエラー出てきます。I-MODEのMLDファイルはOKでした。  お教えください。

専門家に質問してみよう