- ベストアンサー
PerlでのHTTPヘッダのStatus変更
- Perlを使用して、HTTPヘッダのStatusを変更する方法を教えてください。
- 成功の場合は「200 OK」、失敗の場合は「503 Service Unavailable」をHTTPヘッダのStatusに指定したいです。
- 現在のコードではInternal Server Errorが発生してしまいます。他の方法でStatusを変更する方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- sakusaker7
- ベストアンサー率62% (800/1280)
関連するQ&A
- PerlでHTTPヘッダの\nを外すとエラー
【PerlでHTTPヘッダの最後の\nを1つでも外すとエラーになります】 初歩的なことですみません。 HTTPヘッダーの最後の\n\nなんですが、ヘッダーの文字列の後に改行が2つ?? と思って この\nを外して、 print "content-type:text/html;charset=utf-8"; とすると、「500 Internal Server Error」 print "content-type:text/html;charset=utf-8\n"; と\nが1つでも 「500 Internal Server Error」 となります。 「\n\n」と2つあればエラーにはならないんですが、なぜ必ず2つ必要なのでしょうか?これは改行が2つって意味ですかね? print "<html>\n"などの\nはソース上やコンソール出力結果上での改行なのはわかります。 この\nは改行したくなければ書かなくてもエラーになりませんよね。(当たり前ですが・・ #!/usr/bin/perl print "content-type:text/html;charset=utf-8\n\n"; ←HTTPヘッダーの\n\n print "<html>\n"; print "<body>\n"; print "<p>テキスト</p>\n"; print "</body>\n"; print "</html>\n";
- ベストアンサー
- Perl
- perl CGIでのhttpヘッダー出力 (Content-type:
perl CGIでのhttpヘッダー出力 (Content-type: text/html\n\n) が不要な場合について perlでCGIを作成しています。 多くの場合は、httpのヘッダー出力(Content-type: text/html\n\)を行っています。 毎回ではないですが、HTTPヘッダーの出力が不要な場合が存在します。 (HTMLにContent-type: text/html\n\が出力され表示されます。) そこで、HTTPヘッダーの出力が不要の場合の判断方法を教えていただければと思います。 よろしくお願いいたします。
- 締切済み
- Perl
- Ruby CGI HTTPヘッダ
Rubyで、 CGIがクライアント(ブラウザ等)から受けたHttpリクエストヘッダとその値を全て取得して表示したいです。(どのようなヘッダが付与されても) 以下を例に教えてください。 #!/usr/bin/ruby require 'cgi' cgi = CGI.new puts "Content-Type:text/html\n\n" puts "<html>\n" puts "<body>\n" #ここにどのように書いたら良いですか? puts "</body></html>\n"
- ベストアンサー
- その他(プログラミング・開発)
- HTTPヘッダー内での順番などについて
さきほどと同じないようなのですが、さきほどの記事を削除する事も補足する事もできなかった ので再度投稿しました…。 header と session の順番 質問者:unlax header("Content-Type: text/html; charset=euc-jp"); $_SESSION['HOGE'] = true; header("Location:./login.php"); といったようにセッションより前にヘッダーを書くとセッションに保存されない 場合などあるのでしょうか? または、Content-Type とLocationの両方というのがまずいのでしょうか? PHPは5.2.1 Apache 2.0.59 です。 テスト環境のサーバーでは正常動いているのですが、本番サーバーでは$_SESSION['HOGE']に 値がセットされていないようなのですが…。本番ではテストする事ができず推測なのですが…。
- ベストアンサー
- PHP
- HTTPヘッダー制御について
現在、vue、laravelを使って開発をしています。 基本的なことになりますが2つ質問があります。 よろしくお願いします。 ① 例えば、リクエストヘッダに、 『Content-Type:text/plain; charset=UTF-8』があった場合、 laravelが、『受け取ったのは「テキストでUTF-8」だな』と判断しているのでしょうか。 ② 例えば、レスポンスヘッダに、 『Content-Type:text/plain; charset=UTF-8』があった場合、 ブラウザ、もしくはaxios(js?)が、『受け取ったのは「テキストでUTF-8」だな』と判断しているのでしょうか。
- 締切済み
- PHP
- HTTPヘッダーとボディーを区切る改行コードについ
CentOS5.8+Apatch2.2.14+PHP5.3.8の環境下で HTTPのリクエストをApatch+PHPで受付、PHPより下記コードで $str = "XXXXXXX"; $sjisstr = mb_convert_encoding($str, "SJIS"); header("Content-Type: text/html;charset=Shift_JIS"); echo $sjisstr; HTTPレスポンスを返していますが HTTPレスポンスのヘッダーとボディーを区切る改行コードが 0d0a 0d0a 0a0a となってしまいます。 0d0a 0d0a だけにする方法を知っている方 ご教示をよろしくお願いします。
- ベストアンサー
- PHP
- HTTPヘッダーがどうしてもISO-8859になる
Apache2.2.4(ソースからインストール)を使っています。 以下の問題は,IEなら問題ありません。すべてFirefoxで見る場合のみです。 HTTPヘッダーに 「Content-Type: text/html; charset=ISO-8859-1」が 入ってしまい,metaヘッダーにどんなcharsetを指定しても FirefoxがISO-8859と解釈して,文字化けを起こします。 httpd.confには, AddDefaultCharset ISO-8859の行はありません。 しかし, AddDefaultCharset UTF-8や AddDefaultCharset none と指定しても,ヘッダーにcharset=ISO-8859-1が表示されることには 変わりなく,問題解決しません。 .htaccessファイルは一切使っていません。 この問題はCGIに関係なく,任意のファイルで発生します。 一体,なぜISO-8859がヘッダーに現れるのでしょうか。
- 締切済み
- HTML
- perlでHTTP Request Headersの情報を取得、表示す
perlでHTTP Request Headersの情報を取得、表示するページを作成したい 当方初心者です。 apache上のCGI(perl)で、ブラウザから受け取った HTTP Request Headersの情報を取得、出力するページを作成したいのです。 調べると下記のようなサーバ環境変数の取得、表示方法は多数ヒットするのですが =================================================== #!/usr/bin/perl -- print << "DOC1"; Content-type:text/html\n\n <HTML><BODY> DOC1 print $ENV{'HTTP_USER_AGENT'}<br>\n"; print $ENV{'REMOTE_ADDR'}"; print << "DOC2"; </BODY></HTML> DOC2 =================================================== 今回は、環境変数からではなく、HTTP Request Headersから 直接ヘッダに格納された情報を取得したいのです 取得・表示したい情報は標準HTTPヘッダ情報に加え、 途中で経由するプロキシが追加するヘッダ情報です。 完成イメージとしては PHPの<? phpinfo() ?>で出力できる 添付画像にあるような形なのですが どのようにすればできるのでしょうか サンプルの形で教えて頂けると助かります 参考になるページでも結構です よろしくお願いします
- ベストアンサー
- SE・インフラ・Webエンジニア
- HTTPヘッダ
社内ホームページでEXCELデータをダウンロードしてもらうページを作っているのですが、IEの場合、ブラウザ内でシートが開いてしまいます。 IEでEXCELデータにアクセスしてEXCELで開けるようにサーバ側で制御するにはどうしたらいいでしょうか。 インターネットで調べていると、「Content-Disposition ヘッダ」がどうとか書いてあるのですが意味がわかりません。 HTTPヘッダとは何で、どこをどの知識を使っていじれば良いですか?誰か教えてください。
- 締切済み
- その他(ITシステム運用・管理)
- perlでgifが出てこない。
こんな感じなんですけど どうも画像が出てこないんですよね。(a.gif) たぶん簡単なことなんで速攻ポイント出して締め切ります。 print "Content-type: text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<meta http-equiv=\"content-type\" content=\"text/html; charset=shift-jis\">\n"; print "<title>$mail_title</title>\n"; print "</head>\n"; print "<body bgcolor=\"$bgcolor\" text=\"$text\">\n"; print "<img src =\"a.gif\"alt=\"$n\" height=\"32\" widht=\"32\"border=\"0\">\n"; print "<br><br>\n";
- 締切済み
- Perl
- BitLockerで回復キーの入力を求められていて、パソコンが起動しません。対応方法についてご教示願います。
- BitLockerで回復キーの探し方を教えてください。パソコンが起動せず、キーの入力を求められたのですが、どこにキーが保存されているのか分かりません。
- 富士通FMVでBitLockerの回復キーを見つける方法を教えてください。パソコンの起動時に回復キーの入力を求められています。
お礼
おおお、これでできました! ありがとうございます!助かりました…。
補足
ちなみに、質問文に間違いがありまして、Internal Server Errorではなく、正常に画面が表示されてステータスコードが「0」になっていました。 誤った条件を記述していました。すみません。