83 lines
1.4 KiB
C++
83 lines
1.4 KiB
C++
|
|
# include "cgi_utils.hpp"
|
|
|
|
int main ()
|
|
{
|
|
std::vector<std::string> split_str;
|
|
std::vector<std::string> sub_split_str;
|
|
std::vector<std::string>::const_iterator it;
|
|
char * tmp;
|
|
std::string output;
|
|
std::ostringstream strs;
|
|
|
|
std::cout << "Content-Type: text/html; charset=UTF-8" << CRLF CRLF;
|
|
|
|
std::cout
|
|
<< "<!DOCTYPE html>"
|
|
<< "<html>"
|
|
<< "<head>"
|
|
<< " <title>CGI</title>"
|
|
<< "</head>"
|
|
<< "<body>"
|
|
<< " <h2>cgi</h2>"
|
|
<< " <h3>";
|
|
|
|
tmp = getenv("REQUEST_METHOD");
|
|
if (tmp != NULL)
|
|
output = tmp;
|
|
else
|
|
output = "method not foud";
|
|
|
|
std::cout
|
|
<< output
|
|
<< " </h3>"
|
|
<< " <h3>http-request-body-message content :</h3>";
|
|
|
|
|
|
std::cin >> output;
|
|
split_str = split(output, "&");
|
|
output.clear();
|
|
for (it = split_str.begin(); it != split_str.end(); ++it)
|
|
{
|
|
sub_split_str = split(*it, "=");
|
|
|
|
std::cout
|
|
<< "<p>"
|
|
<< sub_split_str[0]
|
|
<< " : "
|
|
<< sub_split_str[1]
|
|
<< "</p>";
|
|
}
|
|
|
|
tmp = getenv("QUERY_STRING");
|
|
if (tmp == NULL)
|
|
std::cout << "query not foud";
|
|
|
|
std::cout
|
|
<< " <h3>http-uri-query content :</h3>";
|
|
|
|
output = tmp;
|
|
split_str = split(output, "&");
|
|
output.clear();
|
|
for (it = split_str.begin(); it != split_str.end(); ++it)
|
|
{
|
|
sub_split_str = split(*it, "=");
|
|
|
|
std::cout
|
|
<< "<h3>"
|
|
<< sub_split_str[0]
|
|
<< "</h3>"
|
|
<< "<p>"
|
|
<< sub_split_str[1]
|
|
<< "</p>";
|
|
}
|
|
|
|
|
|
std::cout
|
|
<< "</body>"
|
|
<< "</html>";
|
|
|
|
return 0;
|
|
}
|
|
|