Najlepszy samouczek programowania Ruby CGI W 2024 r. W tym samouczku możesz dowiedzieć się przeglądanie stron internetowych,Wykres CGI,Konfiguracja serwera WWW i wsparcie,Pisanie skryptów CGI,Korzystanie cgi.rb,tworzenie formularzy,Tworzenie formularzy i formularzy HTML,ucieczka String,Metody klasy CGI powszechnie stosowane,Cookies i sesji,
Ruby jest językiem uniwersalnym, a nie tylko jeden używany w języku tworzenie stron internetowych, ale rozwój Ruby w aplikacjach internetowych i narzędzi internetowych są najbardziej powszechne.
Nie tylko można użyć Ruby napisać swój własny serwer SMTP, FTP lub programu Ruby serwera WWW, ale może być również użyć programowania Ruby CGI.
Weźmy na chwilę, aby dowiedzieć się Ruby CGI edytowany.
Aby lepiej zrozumieć, jak działa CGI, możemy kliknąć na link na stronie internetowej lub adresu URL procesu:
Programy CGI może być skrypt Ruby skrypt Python, Perl skrypt, skrypt powłoki, C lub C ++ programy.
Przed przeprowadzić programowanie CGI, upewnij się, że serwer WWW został skonfigurowany do obsługi CGI oraz obsługi CGI.
Apache obsługuje konfigurację CGI:
Konfigurowanie katalogu CGI:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
Wszystkie serwer HTTP w celu wykonania programów CGI są zapisywane we wstępnie skonfigurowane katalogu. Ten katalog jest nazywany katalogu CGI, a zgodnie z przyjętą konwencją, to nazywa się w katalogu / var / www / cgi-bin.
Plik rozszerzenie .cgi CGI, Ruby może być również używany .rb rozszerzenie.
Domyślnie konfiguracja serwera Linux działa katalogu cgi-bin jest / var / www.
Jeśli chcesz określić inny katalog do uruchamiania skryptów CGI, można zmodyfikować plik konfiguracyjny httpd.conf w następujący sposób:
<Directory "/var/www/cgi-bin"> AllowOverride None Options +ExecCGI Order allow,deny Allow from all </Directory>
Dodaj .rb przyrostek AddHandler, dzięki czemu możemy uzyskać dostęp .rb koniec pliku skryptu Ruby:
AddHandler cgi-script .cgi .pl .rb
Podstawowy kod Ruby CGI w następujący sposób:
#!/usr/bin/ruby puts "Content-type: text/html\n\n" puts "<html><body>This is a test</body></html>"
Można zachować kod do test.cgi serwer plików i ostatni w celu nadania odpowiednich uprawnień do wykonywania jako skrypt CGI.
Jeśli adres stoisz jak http://www.example.com/~~pobj, http://www.example.com/test.cgi~~pobj używanego do uzyskania dostępu do programu, wyjście to: "To jest test.".
Przeglądarka, aby uzyskać dostęp do witryny WWW, serwer WWW znajdzie plik test.cgi w katalogu witryny, a następnie rozwiązać interpretera Ruby skryptu i kod otwierając dokument HTML.
Ruby może wywołać biblioteki CGI pisać bardziej złożonych skryptów CGI.
Poniższy kod wywołuje bibliotekę skryptów CGI, aby utworzyć skrypt CGI.
#!/usr/bin/ruby require 'cgi' cgi = CGI.new puts cgi.header puts "<html><body>This is a test</body></html>"
Poniższy kod należy utworzyć informacji o obiekcie CGI oraz nagłówka wydruku.
Korzystanie Biblioteka CGI można uzyskać na dwa sposoby, aby wysłać formularz (lub parametrów w adresie URL) danych, takich jak adres URL :? /cgi-bin/test.cgi FirstName = Zara i Nazwisko = Ali.
Można użyć CGI # [] bezpośrednio uzyskać parametry Imię i nazwisko:
#!/usr/bin/ruby require 'cgi' cgi = CGI.new cgi['FirstName'] # => ["Zara"] cgi['LastName'] # => ["Ali"]
Innym sposobem uzyskania danych z formularza:
#!/usr/bin/ruby require 'cgi' cgi = CGI.new h = cgi.params # => {"FirstName"=>["Zara"],"LastName"=>["Ali"]} h['FirstName'] # => ["Zara"] h['LastName'] # => ["Ali"]
Poniższy kod jest używany do pobierania wszystkich kluczowych:
#!/usr/bin/ruby require 'cgi' cgi = CGI.new cgi.keys # => ["FirstName", "LastName"]
Jeśli formularz zawiera wiele pól o tej samej nazwie, to wartość tej samej dziedzinie będą przechowywane w tablicy.
W poniższym przykładzie, należy określić formę trzech identycznych polach "Nazwa", wartości "Zara", "Huma" i "Nuha":
#!/usr/bin/ruby require 'cgi' cgi = CGI.new cgi['name'] # => "Zara" cgi.params['name'] # => ["Zara", "Huma", "Nuha"] cgi.keys # => ["name"] cgi.params # => {"name"=>["Zara", "Huma", "Nuha"]}
Uwaga: Ruby automatycznie określić GET i metody POST, nie ma potrzeby rozróżnienia między tymi dwoma metodami.
Oto odpowiedni kod HML:
<html> <body> <form method="POST" action="http://www.example.com/test.cgi"> First Name :<input type="text" name="FirstName" value="" /> <br /> Last Name :<input type="text" name="LastName" value="" /> <input type="submit" value="Submit Data" /> </form> </body> </html>
CGI zawiera wiele sposobów tworzenia HTML, każdy tag HTML ma odpowiednią metodę. Przed zastosowaniem tych metod, stosunek musi CGI do tworzenia obiektów CGI.new.
W celu dokonania etykietę bardziej proste zagnieżdżanie, metody te będą treść jako blok kodu, to blok kodu zwraca ciąg jako etykiecie zawartości. W następujący sposób:
#!/usr/bin/ruby require "cgi" cgi = CGI.new("html4") cgi.out{ cgi{ cgi.head{ "\n"+cgi.title{"This Is a Test"} } + cgi.body{ "\n"+ cgi.form{"\n"+ cgi.hr + cgi.h1 { "A Form: " } + "\n"+ cgi.textarea("get_text") +"\n"+ cgi.br + cgi.submit } } } }
Kiedy masz do czynienia z parametrami w danych formularza URL lub HTML, trzeba określić ucieczkę znaki specjalne, takie jak: cudzysłów ( "), ukośnik (/).
Ruby CGI Obiekt zapewnia CGI.escape CGI.unescape i sposoby radzenia sobie z ucieczką tych znaków specjalnych:
#!/usr/bin/ruby require 'cgi' puts CGI.escape(Zara Ali/A Sweet & Sour Girl")
Powyższy kod jest wykonywany w następujący sposób:
#!/usr/bin/ruby require 'cgi' puts CGI.escape(Zara Ali/A Sweet & Sour Girl")
Inny zestaw przykładów:
#!/usr/bin/ruby require 'cgi' puts CGI.escapeHTML('<h1>Zara Ali/A Sweet & Sour Girl</h1>')
Powyższy kod jest wykonywany w następujący sposób:
<h1>Zara Ali/A Sweet & Sour Girl</h1>'
Oto pełna metoda klasy Ruby CGI