ホテルを選ぶとき、これだけは譲れない条件TOP3は?

お世話になってます。

最近C言語でapache モジュールを触り始めました。
開幕躓いたので質問をしにきました。。。orz

apache request_recについて質問です。

apacheのrequest_recからURLのプロトコルの部分を
取得するのは、可能でしょうか?

request_recから「protocol」で「HTTP1.1」の
ような値は取得できたのですが、実際に取得したいのは
http://www.google.co.jp/」の「http」の部分です。
(できればURLすべて取得できたらうれしいです)

どなたかご教授願えると助かります。

A 回答 (4件)

メンバー一覧見る限りでは「uri」か「unparsed_uri」が相当するんじゃないですか。


http://httpd.apache.org/dev/apidoc/apidoc_reques …

この回答への補足

回答ありがとうございます。

「uri」と「unparsed_uri」は、
両方試してみましたが、プロトコルの部分は取得できませんでした。
「uri」は、リクエストパラメータの部分、
「unparsed_uri」は、"http://"を除いたURLの部分が取得できるみたいです。

いただいたURLや↓ココのURLを試してみましたが、プロトコルを含めたURLは取得できなさそうです。
http://d.hatena.ne.jp/oasynnoum/20110117/1295276 …

protocolから取得して変換して、URLを作るとかしないといけないのかな?(ん~かっこわるい)

補足日時:2011/03/01 16:58
    • good
    • 0
この回答へのお礼

とりあえずprotocolから取得する方法でがんばってみます…
回答ありがとうございました!(^q^)ノ

お礼日時:2011/03/01 19:14

なるほど, GET /hogehoge ってやるとこの行 (の /hogehoge の部分) だけをパーズするのか.... だとすると, 「スマートな方法」はないかもしれませんね.



... なんというか, request_rec が不親切なだけのようにも思えるけど....
    • good
    • 0

答えてもらっても「じゃあこうしたら」と言えない質問をするのも心苦しいところではありますが一応念のため:


「parsed_uriを試してみました」
ってのは実際にはどんなことをしたんでしょうか?

この回答への補足

いえいえ、回答ありがとうございます。

「parsed_uriを試してみました」
ってのは実際にはどんなことをしたんでしょうか?
→「r->parsed_uri」を試してみました。

rは、request_recです。
普通に取得して、表示をしてみただけですが。

ココ↓を見てみるとrequest_recには、「http://…」と
返してくれる変数がなさそうな気がします。
http://d.hatena.ne.jp/yone098/20090518/1242703019

補足日時:2011/03/02 13:10
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2011/03/03 20:28

全く無知なので役に立たないかもしれませんが, parsed_uri ってどんなもんでしょ?

この回答への補足

回答ありがとうございます。

parsed_uriを試してみましたが「/T*****」(*は文字化けてました)
のような値が帰ってきました。

PHPやPythonでは、parsed_uri()でやりたいことが、
バッチリできるみたいなんですけどね。

C言語ではないですが,PHPは連想配列に格納されているみたいですね。
PHPでは「http」、C言語では「HTTP/1.1」の違いが...
現状「HTTP/1.1」から「HTTP」の部分を取得して、
変換してurl文字列を作成していますが、納得はしてません   orz

httpsやftpがうまくいけば、この方法で確定します。。。(う~ん、イケテナイ)

補足日時:2011/03/02 02:05
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

お礼日時:2011/03/02 10:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報