|
>>1849 68user >http://www.cpan.org/modules/by-module/Net/ >から Crypt-SSLeay モジュールを入れて下さい。これは LWP を >使うことを前提としたもののようです。 こちらの方法で試してみることにします。 おそらく数日後に結果が報告できると思います。 つまづきながらですが、また質問させていただくかもしれません。 ありがとうございました。 |
|
こんばんは、現在検索エンジンを作成中ですが、キーワード入力の所で いきなりつまずいています。 良く検索エンジン(goo,infoseek)等で検索文字を複数キーワード入力 し、キーワード間はスペースもしくは”|”パイプで区切る事をします。 単一キーワードは簡単に出来るのですが、このスペース区切りで 複数キーワードを引数にする方法がわかりませんが、宜しければお教え いただけないでしょうか? |
|
先日HTTPS接続のことで質問したものです。 HTTPS相手のPOSTでのCGI接続は、 Crypt-SSLeayモジュールを導入し、 LWPを使うことで解決しました。 部分的な引用でわかりにくいかもしれませんが、 $req = HTTP::Request->new( POST => "$url" ); $req->content_type('text/plain'); $req->content('$postdata'); とすることで、HTTPSだと意識することなく レスポンスをもらうことができました。 本当にありがとうございました。 |
|
>>1854 d-jiro > HTTPS相手のPOSTでのCGI接続は、Crypt-SSLeayモジュールを導入し、 > LWPを使うことで解決しました。 それはよかった。こちらの環境でも試してみましたが、 うまくいったようです。 >>1853 PHP > 一キーワードは簡単に出来るのですが、このスペース区切りで > 複数キーワードを引数にする方法がわかりません 複数キーワードに分割というのは $keyword = 'foo bar baz'; @keywords = split(/\s+/, $keyword); といったことですか? あるいは、複数のキーワードで検索するという ことですか? 後者ならば http://wakusei.cplaza.ne.jp/twn/wwwsrch.htm というのが参考になるかもしれません。 この CGI スクリプトは素直な書き方になっていますが、サーバへの 負荷はかなりのもので、実用には向きません。 最初のとっかかりとして、参考程度にとどめておくのがいいでしょう。 高速化のヒントは eval です。 |
|
http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?howtouse に ・環境はできるだけ詳しく ・マルチポスト禁止 ・回答をもらったら結果を報告する という注意点を追加しました。この場でいちいち注意したくはないので、 質問する前に是非ご一読下さい。 また、各メッセージの「No.1504 # 68user」などという表示の「#」を クリックすると、 http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1500-1600#1504 というリンクに飛ぶようにしました。 # 更新履歴: # http://X68000.startshop.co.jp/~68user/cgi-bin/cvsweb.cgi/public_html/cgi-bin/wwwboard.cgi やはり設計が甘かったようで、この掲示板に美しく機能拡張するのは もう無理みたいです。スクラッチから書き直したいけど、きれいに 書ける自信がない…。 |
|
初めて書き込みをします。 早速ですが質問があります。 現在osをredhat6.2Jでsendmail8-9-3を使いメールサーバーを構築中です。 そこでcgiを使いメールを発信させると受信したメールのヘッダーのRecievedの部分の Fromがnobody@localhostとなってしまいます。。 こちらとしてはホストのアドレスを載せたいのですが・・・。 cgiは、 #! /usr/bin/perl $toname = 'xxx@aaa.bbb'; $fromname = 'yyy@ccc.ddd'; open(MAIL, "| /usr/lib/sendmail -t -i -f yyy") || die; print MAIL "from:$fromname\n"; print MAIL "to:$toname\n"; print MAIL "Subject: TEST\n"; print MAIL "Content-Type: text/plain;\n\n"; print MAIL "TEST\n"; close(MAIL); print "Content-type: text/html\n\n"; print <<END_OF_DATA; <HTML> <BODY>SendMail $err</BODY></HTML> END_OF_DATA exit; fromで指定したほうがもちろんサーバー側で,toで指定した方がクライアント側です。 sendmail.cfの編集にはsendmail.defを使っています。 はたしてcgiが悪いのかsendmailの設定がまずいのでしょうか? sendmail.defの設定がまずいなら一体どこを変えればいいのか。 ご教授の程をお願いいたします。 |
|
>>1857 ケンMK2 > Fromがnobody@localhostとなってしまいます。。 これってやっぱりまずいのかなぁ? Received に名前解決不可能な サーバ名が書いてあるメールって結構ありますよね。でも、それは ファイアウォールの中からだから許されるのかな。さすがに localhost はまずいかもしれない。 sendmail をまともに管理したことがないため正しい解決策はわかり ませんが、手元にある sendmail.def (sendmail-v8.def をいじった もの) には、 OFFICIAL_NAME='foo.bar.com' とあります。その他は特に設定していません。それを元に生成した /etc/sendmail.cf には Djfoo.bar.com と書いてあります。 Dj(サーバの FQDN) ですね。 あと、ユーザ名が nobody になるのもどうなんでしょうねぇ。 他の行に envelope from yyy などと -f で指定したユーザ名が 書いてあると思うので、それはそれでよいような気もするんですが…。 ちなみに手元の環境でも envelope from nobody となりますが、 僕がいいかげんに管理している sendmail なので、正しいか どうかはかなり怪しいです。 |
|
ケンさん> わーい。回答が書けるー わたしは、このようにしています。 $from = "kaori.iida\@morning.musume"; $to = "natsumi.abe\@morning.musume"; open MAIL, "|/usr/local/bin/nkf -j |/usr/sbin/sendmail -t -f $from" or die $!; print MAIL <<EOM; To: $to From:$from Subject: こんにちはー 元気だべさ。 EOM close MAIL; これで、次のようなメールが届きます。 To: natsumi.abe@morning.musume From: kaori.iida@morning.musume Subject: こんにちはー 元気だべさ。 ポイントは、-f パラメタで渡すのはエラーのときの戻りメールの宛て先で、 From: フィールドをメールの中に再度書かないといけないようです。 なお、スクリプトは EUC で、メールは JIS でないと文字化けするので、 nkf -j をかましています。 |
|
>>1858 68user >> Fromがnobody@localhostとなってしまいます。。 > これってやっぱりまずいのかなぁ? Received に名前解決不可能な > サーバ名が書いてあるメールって結構ありますよね。でも、それは > ファイアウォールの中からだから許されるのかな。さすがに > localhost はまずいかもしれない。 jp.FreeBSD.org の sendmail 君が付けた received も localhost に なっていました。少なくともあそこは変な設定になってはいない だろうということで、問題ないんじゃないでしょうか。 |
|
質問では有りませんが、気になったもので・・・ 自分の借りているレンタルサーバーのログに以下のような行がありました。 xxx.xxx.xxx.xxx - - [28/Mar/2001:20:00:52+0900] "GET http://www.intel.com/ HTTP/1.1" 200 1846 "-" "Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)" これってどう解釈すればいいのでしょう? 当然ですが該当するURLにファイルはありません。 試しに自己保有のLinux版Apacheに telnet でいろいろ試してみましたが、 ステータス 200 が出ることは有りませんでした。 単にサーバーのログ記録ミス(エラー?)なのでしょうか? こちらでも、こんなログが残る事は有りましたでしょうか? なんとなく気持ちが悪いので、判る方がいらっしゃれば教えてください。 |
|
>>1861 すな > 試しに自己保有のLinux版Apacheに telnet でいろいろ試してみましたが、 > ステータス 200 が出ることは有りませんでした。 FreeBSD 4.1-RELEASE + apache-1.3.12 で、 GET http://www.intel.com/ HTTP/1.0 でステータス 200 が出ました。ブラウザを普通に使っていれば、 PATH は必ず / から始まるはずですが、先頭が / でない PATH を 要求すると 200 が返るんですね。これって仕様かしら? |