- ベストアンサー
「perl-cgiで質問です」URL打ち込みをPOSTで送信したい?
自作したtest.cgiに、 http://localhost/test.cgi?1,2,3,4,5 このように書くと、 1 2 3 4 5 と表示されるperlプログラム ==== $qs = $ENV{'QUERY_STRING'}; @array= split(/,/,$qs); foreach(@array){ print ; print "\n"; } ==== を作ったのですが、この数字の部分を長くするとうまくいきません。 もしかすると、GET?で送信されているため、長すぎると正常に受信できないのかもしれません。 詳しくは分かりません。 しかし、何とか、URLに直接書き込んだ状態で正常に表示させたいのですが何とかする方法は無いでしょうか? 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
残念ながら、アドレス欄記載のURLは、GETメソッドで、かつ、おおまか512バイトが限度です。 で、POSTに置換するのも、不可能と思ってください。 #必ず、<form~ <input ~ <input type="submit" が必要になる。 ただし、<a href="abc?1,2,3,4,5"> のように見せかけるには、JavaScriptで工夫が可能かもしれません。
その他の回答 (1)
- umasikajiro
- ベストアンサー率67% (545/803)
答えでは有りませんが GETの文字数制限について昔、調べた限りでは、、、 (UA:win98+IE4 とNN4.05 httpdはFreeBSD2.2.6+Apache1.2.5) IE4がクライアント側の制限で2048バイト NNだとクライアント側の制限よりもApacheの制限で8160バイト でした。NNと言うのはNetscapeの事です。 たぶん今でも同じ様なものではないかと思います これは送る文字列の長さだけではなくURL全体の文字数で、 formで送る場合は URLエンコードされますので 通常は日本語1文字で%82%A0のように6バイトになります
お礼
ご回答いただ本当にありがとうございました。 とても、参考になりました
お礼
ご回答いただ本当にありがとうございました。 とても、参考になりました