下拉神器是一款专业的下拉词平台,提供各种下拉功能:百度下拉丶360搜索下拉丶必应搜索下拉丶哔哩哔哩下拉丶抖音下拉等等,里面还有批量做词教程技术,可以一次性做10-50个词,省心高效!批量做词,批量出词,可以实现霸屏效果!
有的客户想删除下拉,但是百度不受理,就可以使用批量做词霸屏技术,实现把那些负面信息顶下去,顶掉的效果=删除效果!欢迎您前来使用!新手不懂使用,请多看2遍视频教程哦!下拉神器100%有效果的!
给大家看一个下拉神器介绍的视频,看完后,点击下面的按钮进入”下拉神器“
欢迎使用下拉神器,下拉行业老品牌,如果下拉神器都不好使,整个行业其他平台一样不好使,但是大家一定要多学习多看教程,先学会做词出词的技巧!
下一篇文章内容预览:
User-请求标头字段包含有关发起请求的用户代理的信息。 它是Web浏览器的名称。
CGI脚本的路径。
使用GET方法请求发送的URL编码信息。
发出请求的远程主机的IP地址。 这对于日志记录或身份验证非常有用。
发出请求的主机的完全限定名称。 如果此信息不可用,则可以使用获取IR地址。
用于发出请求的方法。 最常用的方法是GET和POST。
10
CGI脚本的完整路径。
11
CGI脚本的名称。
12
服务器的主机名或IP地址。
13
服务器正在运行的软件的名称和版本。
这是一个小型CGI程序,列出了所有CGI变量。
#include#includeusing namespace std; const string ENV[ 24 ] = { "COMSPEC", "DOCUMENT_ROOT", "GATEWAY_INTERFACE", "HTTP_ACCEPT", "HTTP_ACCEPT_ENCODING", "HTTP_ACCEPT_LANGUAGE", "HTTP_CONNECTION", "HTTP_HOST", "HTTP_USER_AGENT", "PATH", "QUERY_STRING", "REMOTE_ADDR", "REMOTE_PORT", "REQUEST_METHOD", "REQUEST_URI", "SCRIPT_FILENAME", "SCRIPT_NAME", "SERVER_ADDR", "SERVER_ADMIN", "SERVER_NAME","SERVER_PORT","SERVER_PROTOCOL", "SERVER_SIGNATURE","SERVER_SOFTWARE" }; int main () { cout << "Content-type:text/html\r\n\r\n"; cout << "\n"; cout << "\n"; cout << "\n"; cout << "\n"; cout << "\n"; cout << "
"; for ( int i = 0; i < 24; i++ ) { cout << "\n"; } cout << "
| " << ENV[ i ] << " | "; // attempt to retrieve value of environment variable char *value = getenv( ENV[ i ].c_str() ); if ( value != 0 ) { cout << value; } else { cout << "Environment variable does not exist."; } cout << " |
<\n"; cout << "\n"; cout << "\n"; return 0; }
C++ CGI
对于实际示例,您需要通过CGI程序执行许多操作。 有一个为C ++程序编写的CGI库,您可以从ftp:///gnu//并按照步骤安装库 -
$tar xzf cgicc-X.X.X.tar.gz $cd cgicc-X.X.X/ $./configure --prefix=/usr $make $make install
您可以查看“C ++ CGI Lib文档”中提供的相关文档。
GET和POST方法 (GET and POST )

当您需要将某些信息从浏览器传递到Web服务器并最终传递到CGI程序时,您必须遇到很多情况。 最常见的浏览器使用两种方法将此信息传递给Web服务器。 这些方法是GET方法和POST方法。
使用GET方法传递信息
GET方法发送附加到页面请求的编码用户信息。 页面和编码信息由?分隔。 性格如下 -
http://www.test.com/cgi-bin/cpp.cgi?key1=value1&key2=value2
GET方法是将信息从浏览器传递到Web服务器的默认方法,它会生成一个长字符串,显示在浏览器的:框中。 如果您要将密码或其他敏感信息传递给服务器,请勿使用GET方法。 GET方法具有大小限制,您可以在请求字符串中传递最多1024个字符。
使用GET方法时,使用 http标头传递信息,并可通过环境变量在CGI程序中访问。
您可以通过简单地将键和值对与任何URL连接来传递信息,也可以使用HTML
标记使用GET方法传递信息。
简单URL示例:获取方法
这是一个简单的URL,它将使用GET方法将两个值传递给.py程序。
/cgi-bin/.cgi?=ZARA&=ALI
下面是一个生成.cgi CGI程序的程序,用于处理Web浏览器给出的输入。 我们将使用C ++ CGI库,这使得访问传递信息变得非常容易 -
#include#include#include#include#include#include#include#include#includeusing namespace std;
using namespace cgicc;
int main () {
Cgicc formData;
cout << "Content-type:text/html\r\n\r\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
form_iterator fi = formData.getElement("first_name");
if( !fi->isEmpty() && fi != (*formData).end()) {
cout << "First name: " << **fi << endl;
} else {
cout << "No text entered for first name" << endl;
}
cout << "
\n";
fi = formData.getElement("last_name");
if( !fi->isEmpty() &&fi != (*formData).end()) {
cout << "Last name: " << **fi << endl;
} else {
cout << "No text entered for last name" << endl;
}
cout << "
\n";
cout << "\n";
cout << "\n";
return 0;
}
现在,按如下方式编译上述程序 -
$g++ -o cpp_get.cgi cpp_get.cpp -lcgicc
生成.cgi并将其放入CGI目录并尝试使用以下链接进行访问 -
/cgi-bin/.cgi?=ZARA&=ALI
这将产生以下结果 -
First name: ZARA Last name: ALI
简单形式示例:GET方法
这是一个使用HTML FORM和提交按钮传递两个值的简单示例。 我们将使用相同的CGI脚本.cgi来处理此输入。
以下是上述表格的实际输出。 输入名字和姓氏,然后单击“提交”按钮以查看结果。
名字: 姓:
使用POST方法传递信息
通常更可靠的将信息传递给CGI程序的方法是POST方法。 这包装信息的方式与GET方法完全相同,但不是在文本字符串之后将其作为文本字符串发送? 在URL中,它将其作为单独的消息发送。 此消息以标准输入的形式进入CGI脚本。
同样的.cgi程序也将处理POST方法。 让我们采用与上面相同的例子,它使用HTML FORM和提交按钮传递两个值,但这次使用POST方法如下 -
以下是上述表格的实际输出。 输入名字和姓氏,然后单击“提交”按钮以查看结果。
名字: 姓:

将复选框数据传递给CGI程序
如果需要选择多个选项,则使用复选框。
以下是带有两个复选框的表单的示例HTML代码 -
此代码的结果如下:
数学 物理
下面是C ++程序,它将生成.cgi脚本来处理Web浏览器通过复选框按钮给出的输入。
#include#include#include#include#include#include#include#include#includeusing namespace std;
using namespace cgicc;
int main () {
Cgicc formData;
bool maths_flag, physics_flag;
cout << "Content-type:text/html\r\n\r\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
maths_flag = formData.queryCheckbox("maths");
if( maths_flag ) {
cout << "Maths Flag: ON " << endl;
} else {
cout << "Maths Flag: OFF " << endl;
}
cout << "
\n";
physics_flag = formData.queryCheckbox("physics");
if( physics_flag ) {
cout << "Physics Flag: ON " << endl;
} else {
cout << "Physics Flag: OFF " << endl;
}
cout << "
\n";
cout << "\n";
cout << "\n";
return 0;
}
将单选按钮数据传递给CGI程序
当只需要选择一个选项时,使用单选按钮。
以下是带有两个单选按钮的表单的示例HTML代码 -
此代码的结果如下:
数学 物理
下面是C ++程序,它将生成.cgi脚本来处理Web浏览器通过单选按钮给出的输入。
#include#include#include#include#include#include#include#include#includeusing namespace std;
using namespace cgicc;
int main () {
Cgicc formData;
cout << "Content-type:text/html\r\n\r\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
form_iterator fi = formData.getElement("subject");
if( !fi->isEmpty() && fi != (*formData).end()) {
cout << "Radio box selected: " << **fi << endl;
}
cout << "
\n";
cout << "\n";
cout << "\n";
return 0;
}
将文本区域数据传递给CGI程序
当多行文本必须传递给CGI程序时,使用元素。
以下是带有框的表单的示例HTML代码 -
此代码的结果如下:
Type your text here...在此输入文字...
下面是C ++程序,它将生成.cgi脚本来处理Web浏览器通过文本区域给出的输入。
#include#include#include#include#include#include#include#include#includeusing namespace std;
using namespace cgicc;
int main () {
Cgicc formData;
cout << "Content-type:text/html\r\n\r\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
form_iterator fi = formData.getElement("textcontent");
if( !fi->isEmpty() && fi != (*formData).end()) {
cout << "Text Content: " << **fi << endl;
} else {
cout << "No text entered" << endl;
}
cout << "
\n";
cout << "\n";
cout << "\n";
return 0;
}
将下拉框数据传递给CGI程序
当我们有许多选项但只选择一个或两个时,使用下拉框。
以下是带有一个下拉框的表单的示例HTML代码 -
此代码的结果如下:
下面是C ++程序,它将生成.cgi脚本来处理Web浏览器通过下拉框给出的输入。
#include#include#include#include#include#include#include#include#includeusing namespace std;
using namespace cgicc;
int main () {
Cgicc formData;
cout << "Content-type:text/html\r\n\r\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
form_iterator fi = formData.getElement("dropdown");
if( !fi->isEmpty() && fi != (*formData).end()) {
cout << "Value Selected: " << **fi << endl;
}
cout << "
\n";
cout << "\n";
cout << "\n";
return 0;
}

在CGI中使用 ( in CGI)
HTTP协议是无状态协议。 但是对于商业网站,需要在不同页面之间维护会话信息。 例如,一个用户注册在完成许多页面后结束。 但是如何在所有网页上维护用户的会话信息。
在许多情况下,使用是记住和跟踪偏好,购买,佣金以及更好的访问者体验或网站统计所需的其他信息的最有效方法。
它是如何运作的 (How It )
您的服务器以的形式向访问者的浏览器发送一些数据。 浏览器可以接受。 如果是,则将其作为纯文本记录存储在访问者的硬盘上。 现在,当访问者到达您网站上的另一个页面时,该可供检索。 检索后,您的服务器知道/记住存储的内容。
是5个可变长度字段的纯文本数据记录 -
设置 ( up )
将发送到浏览器非常容易。 这些将在-type字段之前与HTTP 一起发送。 假设您要将和密码设置为。 因此,设置将按如下方式进行
#includeusing namespace std;
int main () {
cout << "Set-Cookie:UserID = XYZ;\r\n";
cout << "Set-Cookie:Password = XYZ123;\r\n";
cout << "Set-Cookie:Domain = www.iowiki.com;\r\n";
cout << "Set-Cookie:Path = /perl;\n";
cout << "Content-type:text/html\r\n\r\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "\n";
cout << "Setting cookies" << endl;
cout << "
\n";
cout << "\n";
cout << "\n";
return 0;
}
从这个例子中,您必须了解如何设置。 我们使用Set- HTTP标头来设置。
在这里,可以选择设置诸如,和Path之类的属性。 值得注意的是,在发送魔术行之前设置了 "-type:text/html\r\n\r\n 。
编译以上程序以生成.cgi,并尝试使用以下链接设置。 它将在您的计算机上设置四个 -
/cgi-bin/.cgi
检索 ( )
很容易检索所有设置的。 存储在CGI环境变量中,它们将具有以下形式。
key1 = value1; key2 = value2; key3 = value3....
以下是如何检索的示例。
#include#include#include#include#include#include#include#include#includeusing namespace std; using namespace cgicc; int main () { Cgicc cgi; const_cookie_iterator cci; cout << "Content-type:text/html\r\n\r\n"; cout << "\n"; cout << "\n"; cout << "\n"; cout << "\n"; cout << "\n"; cout << "
"; // get environment variables const CgiEnvironment& env = cgi.getEnvironment(); for( cci = env.getCookieList().begin(); cci != env.getCookieList().end(); ++cci ) { cout << "\n"; } cout << "
| " << cci->getName() << " | "; cout << cci->getValue(); cout << " |
<\n";
cout << "
\n";
cout << "\n";
cout << "\n";
return 0;
}
现在,编译上面的程序来生成.cgi,并尝试获取计算机上所有可用的列表 -
/cgi-bin/.cgi
这将生成上一部分中设置的所有四个以及计算机中设置的所有其他的列表 -
UserID XYZ Password XYZ123 Domain www.iowiki.com Path /perl
文件上传示例
要上传文件,HTML表单必须将属性设置为/form-data 。 具有文件类型的输入标记将创建“浏览”按钮。
此代码的结果如下:
文件:
Note - 以上示例已被故意禁用,以阻止人们在我们的服务器上上传文件。 但您可以尝试使用您的服务器上面的代码。
这是用于处理文件上载的脚本.cpp -
#include#include#include#include#include#include#include#include#includeusing namespace std; using namespace cgicc; int main () { Cgicc cgi; cout << "Content-type:text/html\r\n\r\n"; cout << "\n"; cout << "\n"; cout << "\n"; cout << "\n"; cout << "\n"; // get list of files to be uploaded const_file_iterator file = cgi.getFile("userfile"); if(file != cgi.getFiles().end()) { // send data type at cout. cout << HTTPContentHeader(file->getDataType()); // write content at cout. file->writeToStream(cout); } cout << "\n"; cout << "\n"; cout << "\n"; return 0; }
上面的示例用于在cout流中编写内容,但您可以打开文件流并将上载文件的内容保存在所需位置的文件中。