- - PR -
ASP.NETモバイルページにて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-08-25 20:41
ただいまASP.NETモバイルツールキットにて、携帯メールサービスを立ち上げようとしております。
流れは以下のとおりです。 @ASP.NETモバイルページAにメールリンクを設置。 Aメールのあて先はperl(携帯のアドレスを抽出するため)に設定。ユーザは空メールを送信。 Bperlは、メールを受け取り、送信元アドレスを抽出し、そのメールアドレスをクエリーストリングに付加したASP.NETモバイルページBのあて先にリダイレクト。 問題は、Bでperlからのリクエストに対し、ASP.NETモバイルページBが反応しません。perlからのリクエスト(http://test.com/aspmobile.aspx?ad=test@test.co.jp)をブラウザで実行したところ、正常に動作します。また、IISのログを見たところ、perlのリクエストには、sc-status302(Moved Temporarily)が発生しています。(リクエストは受信しているが破棄される。) どなたかこの現象に対して、対応方法をご存知の方は教えていただけると助かります。 | ||||||||
|
投稿日時: 2005-08-26 09:05
お早うございます。
…リダイレクトって、元になるリクエストはどこから出されているんでしょう? もしかして、perlのプログラムがリクエストしてperlのプログラムがレスポンスを受け取るとか? (1)から(3)の間で、ユーザからのHTTPリクエストは一度も無いように見えるのですが…。 | ||||||||
|
投稿日時: 2005-08-26 10:00
今日は
ASP.NETモバイルツールキットは使ったことが無いですが、恐らく Cookieless=trueと成っていると思います、この時は最初のアクセス時に 302を返します、アクセス側はこの内容に従って再アクセスする必要が有ります (具体的にはSessionID付でアクセスし直し)、ブラウザ等では自動的にやってくれます。perlで、この302への対応が出来ていないのでは。 間違っていたら無視してください。 | ||||||||
|
投稿日時: 2005-08-27 12:12
私も、空メールの仕組みを作ろうとした時に同じ現象(たぶん)
になり、未だに解決できていません。 ユーザはmail@xxx.jpあてにメールします。届いたメールは mail.plのperlに渡され、メールアドレスを取得し、そのメール アドレスを別のサーバにあるaspxに対してGETで渡すようにしています。 私の場合、モバイルページではないですが、IISに残るログや現象は 未記入さんと同じものです。 わたしも、ぜひ解決したいのでお知恵をお貸しください。 よrしくお願いいたします。 | ||||||||
|
投稿日時: 2005-08-27 12:40
ユーザーのトリガは空メールですよね。これをperlが受け取って、get付きのurlが記述されたメールをユーザーに送り返し、ユーザーがそのurlをクリックしてaspxを開くという流れではないんでしょうか? ユーザーのトリガが空メールのため、上記以外webページに遷移させようがないと思うのですが・・・? 何か私が勘違いしてたらごめんなさい。 | ||||||||
|
投稿日時: 2005-08-27 14:04
すみません、説明不足でした。
私が作成していた仕組みですが 一旦、aspxでメールアドレスを取得し、aspx内でメールアドレスの 登録作業を行わせ、それが成功した場合、ユーザにaspxからメールを 返す仕組みを考えていました。 [ メッセージ編集済み 編集者: コデトン 編集日時 2005-08-27 14:04 ] | ||||||||
|
投稿日時: 2005-08-27 14:06
こんにちは。
要件がいまいち釈然としない為、迷走した解答となりそうな予感もしますが、
この現象だけを解決する手段ならば、 perlプログラムにおいてhttp://test.com/aspmobile.aspx?ad=test@test.co.jp へアクセスした際のレスポンスヘッダーに含まれる、Locationフィールドの値を 取得。そこで指定されたURLにGETによる再アクセスを行う。 という形になるのかな。 原因はおそらくrvmx様が書き込まれた以下の内容で、
ブラウザが自動的に行ってくれる対応をperlで実装する手段が上記の 内容となります。 | ||||||||
|
投稿日時: 2005-08-27 15:49
rvmx様
有難うございました!ご指摘のとおり、Cookieless=trueとなっていました。 perlで、この302への対応をやるのは難しいと判断し、新たにプロジェクトを 作成し、そのweb.configではcookieless=falseに設定し、無事解決に至り ました! 皆様、僕の拙い文章で要件がかなりわかりにくくなっているところにご返答 有難うございました。 |
1