网站后期维护包括,房地产交易网站,创建论坛网站,nas访问不了wordpress本处设计一个网页投票器#xff0c;它访问“www.zhiliaowang.com”上的服务程序“/toupiaoceshi.asp”#xff0c;并通过“name”参数向选手投票。如代码15-16所示#xff1a;代码15-16网页投票器(节自/code/chapter15/http1.c)#include char buf2[]/*组装HTTP协议GET请求报…本处设计一个网页投票器它访问“www.zhiliaowang.com”上的服务程序“/toupiaoceshi.asp”并通过“name”参数向选手投票。如代码15-16所示代码15-16网页投票器(节自/code/chapter15/http1.c)#include char buf2[]/*组装HTTP协议GET请求报文*/GET /toupiaoceshi.asp?name朱云翔HTTP/1.0\r\nAccept: */*\r\nAccept-Language: zh-cn\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\r\nHost: www.zhiliaowang.com\r\nConnection: Keep-Alive\r\n\r\n;int main(){char buf[2048];int nSock;fprintf(stderr, ------------投票开始---------------\n);ASSERT(ConnectSock(nSock, 80, 122.51.64.66)0);/*建立TCP连接*/WriteFile(nSock, buf2, strlen(buf2));/*发送GET请求*/fprintf(stderr, buf2);memset(buf, 0, sizeof(buf));recv(nSock, buf, sizeof(buf), 0);/*接收GET请求*/fprintf(stderr, buf);close(nSock);/*释放TCP连接*/fprintf(stderr, ------------投票结束---------------\n);}其中“\r\n”是回车换行IP地址“122.51.64.66”是网站“www.zhiliaowang.com”的IP地址读者可以通过执行ping命令从域名转换到IP地址# ping www.zhiliaowang.comPINGwww.zhiliaowang.com (122.51.64.66): 56 data bytes64 bytes from 122.51.64.66: icmp_seq0 ttl127 time20 ms本处并没有使用套接字发送函数send而是调用了封装write的函数WriteFile来发送GET请求这说明底层文件编程库也能作用于套接字描述符函数write和read也能实现套接字信息的发送和接收。编译代码15-16# make http1cc -o http1 http1.c -O -DUNIX -DDEBUG -DTRACE_FILE./trace -D__PATH__/ -I/u/zyx/code/comlib/include-L/u/zyx/code/comlib/lib-lcom运行代码15-16# ./http1------------投票开始---------------GET /toupiaoceshi.asp?name朱云翔HTTP/1.0/*请求行*/………………………………/*省略*/HTTP/1.1 200 OK/*状态行*/…………………………………/*省略*/------------投票结束---------------【实践经验】程序http2只实现了向一个特定的WEB网页投票的功能当WEB服务器、网页和参数发生变化程序也必须做响应的改动。例1.更改代码15-16设计关于以下URL的自动投票程序http://publish.games.sina.com.cn/poll.php?p_id560t_id1327答首先更改GET行常数为char buf2[]GET /poll.php?p_id560t_id1327 HTTP/1.1\n………………………………其次更改报文头属性HostHost: publish.games.sina.com.cn\n最后更改TCP连接语句中的目的方IP地址即可ASSERT_NORMAL(ConnectSock(nSock, 80, 202.108.43.242));【注意】本节讲述网页投票器的设计其目的只是为了向读者阐述基于TCP连接的SOCKET程序设计方法并不是号召大家在各类投票活动中作弊。选手的票数应该凭自己的真本领获取而不能借助所谓的网页投票器况且很多投票活动都限制了同一IP的投票时间间隔和投票次数这些措施都极大限制了网页投票器的使用范围。