• 締切済み

cookieを介さずにCGI/PerlとセッションIDを遣り取りする方

cookieを介さずにCGI/PerlとセッションIDを遣り取りする方法 Adobe AIR HTML/Ajax で cookieを介さずにサーバーのCGI/PerlとセッションIDを遣り取りする方法について、何か情報ありませんでしょうか。 AIRはcookieをOSと共有するようなのですが、既定ブラウザがFirefoxの場合、共有できません。 幸い、AIRはローカルでのファイル操作が可能なので、自前でセッションIDの遣り取りと管理をさせたいと考えております。 で、以下の様にしてみましたが、nullが返ってくるだけでした。 PerlのセッションID発行はCGI::Sessionを使用しています。 [code] var cgi_url = 'http://server_name/cgi/session.pl'; var login_name = 'hoge'; var login_auth = 'fuga'; var msg = $.ajax( { type :'POST', url :cgi_url, data :'login_name=' + login_name + '&login_auth=' + login_auth }).responseText; alert(msg); [/code]

みんなの回答

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.2

ちゃんとコードを読むと、POSTって書いてますね。失礼しました。 URLに付記すると、GETになってしまいますね。 以下の記事内容に関連した事が原因でPOST送信になっていないのかも知れませんね。 http://livedocs.adobe.com/flex/3_jp/langref/flash/net/URLRequestMethod.html 『メモ:Adobe AIR で実行中のコンテンツの場合、 で navigateToURL() 関数を使用すると、ランタイムでは、POST メソッドを使用する URLRequest(method プロパティが URLRequestMethod.POST に設定されているもの)は、GET メソッドとして処理されます。』 では、navigateToURLを使わない別の方法はあるのか?と調べていると、以下のような記事が見つかりました。 http://journal.mycom.co.jp/series/air/013/index.html

blue-horse
質問者

お礼

BellBell様 お礼遅くなりまして申し訳ございません。 ありがとうございす。 たびたび回答を頂いているのに大変申し訳ないのですが、Flex開発はまだ手が出ずにおります。 おそらくAIRAliases.js経由で実現可能な内容だと思われるので、調べてみようと思います。 ちなみに、nullが返ってくる問題ですが、どうやらPOST送信のdataパラメータの記述の仕方を間違えていた様で、以下の記述でCGIリクエストの結果を受け取れました。 【JavaScript】 var cgi_url = 'http://server_name/cgi/session.pl'; var login_name = 'hoge'; var login_auth = 'fuga'; var result_html = $.ajax( { type :'POST', url :cgi_url, data : // ここの記述が間違っていました { 'login_name':login_name, 'login_auth':login_auth }, dataTyle:'html' }).responseText; あとはレスポンスヘッダをjQueryで処理できれば文句なしなのですが。 JavaScriptのgetResponseHeaderだとブラウザ判別が面倒で。 (まあ、AIR だからSafari(Webkit)だけ気にすればよいのですが)

すると、全ての回答が全文表示されます。
  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

あくまで、cookieを使わない前提で考えると、URLに引数をつけてやりとりをすればよいかと。 CGI/Perlについては無知ですが、CGI/Perlで携帯用のサイトを作れるからには、cookieを使わないセッションを管理できる機能は持っているハズ。 PHPからの類推ですが、cookieが使用できない携帯端末ではURLにセッションIDを付加して維持しているに違いないと考えられます。 それではその、cookieを使わないセッションを管理できる機能とは、という点が判らないのが、CGI/Perlについて無知なところでお役に立てませんが。 Perlで携帯サイトを作るには?というあたりを調べれば、おそらく必要な情報が入手できると思います。(cookieを使えない環境でのセッション管理の方法)

blue-horse
質問者

お礼

BellBell様 回答ありがとうございます。 説明不足で申し訳ございません。 セッションIDはPOSTメソッドで遣り取りしたいので、「URLに引数として付記する方法」は出来れば避けたいところなのです。

すると、全ての回答が全文表示されます。

関連するQ&A