VC post表单
来源:互联网 发布:51单片机入门 编辑:程序博客网 时间:2024/05/20 13:07
参考文章:http://blog.csdn.net/wangningyu/article/details/4526551
注意:原文将回车换行符写成了/r/n,我使用时,程序异常,将其改成\r\n即可。
----------------------------------------------------------------------------------------------------------------------------------------------------------
html 登录页面截图:
---------------------------------------------------------------------------------------------------------------------
登录页面表单源码:
<form action="/hyx/WanJiaLoginServlet" method="post"><label>账号:<span></span></label><input type="text" name="userName" maxlength="20" value="zhang3"/><label>密码:<span></span></label><input type="password" name="userPass" maxlength="30" value="123456"/><input type="submit" value="登陆" name="submit" class="submit"/><a href="wanjiaReg.jsp">注册</a><a href="/hyx/index.html">首页</a></form>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
点登录时,使用Fildder抓到的包如下:
POST http://407a08:8080/hyx/WanJiaLoginServlet HTTP/1.1
Host: 407a08:8080
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://407a08:8080/hyx/wanjia/wanjiaLogin.jsp
Cookie: JSESSIONID=8DFF29BB78EEEE2FDE7CE3302B1821F7
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 31
userName=zhang3&userPass=123456
-------------------------------------------------------------------------------------------------------------------------------
点登录时,使用Fildder抓到的服务器返回的包如下:
HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=A3EE2EA6D26871AD9E65B74E95A32FDE; Path=/hyx
Location: http://407a08:8080/hyx/wanjia/flex/index.html
Content-Length: 0
Date: Tue, 03 Jun 2014 12:11:57 GMT
---------------------------------------------------------------------------------------------------------------------------------
Fiddler抓包截图:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
清楚了提交给服务器的包,接下来可以写程序进行提交了,代码如下:
#include "stdafx.h"#include "stdio.h" #include "winsock2.h" #include<stdlib.h>#pragma comment(lib,"ws2_32.lib") int main(int argc, char* argv[]){SOCKADDR_INsaServer;LPHOSTENTlphostent;WSADATAwsadata;SOCKEThsocket;intnRet;char* host_name="192.168.47.18";char* req="POST http://407a08:8080/hyx/WanJiaLoginServlet HTTP/1.1\r\n""Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,\r\n""Referer:http://192.168.47.17:8080/hyx/admin/login.jsp\r\n""Accept-Language:zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3\r\n""Content-Type:application/x-www-form-urlencoded\r\n""Accept-Encoding:gzip, deflate\r\n""User-Agent:Mozilla/5.0 (Windows NT 5.1; rv:29.0) Gecko/20100101 Firefox/29.0\r\n" "Host:407a08:8080\r\n""Content-Length:31\r\n""Connection:keep-alive\r\n""Cookie:JSESSIONID=F78B7D4C76181B5B08485246CE9FF8AE\r\n\r\n""userName=zhang3&userPass=123456";// 初始化套接字if(WSAStartup(MAKEWORD(2,2),&wsadata)) printf("初始化SOCKET出错!");lphostent=gethostbyname(host_name); if(lphostent==NULL) printf("lphostent为空!");hsocket = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); saServer.sin_family = AF_INET; saServer.sin_port = htons(8080); //saServer.sin_addr = *((LPIN_ADDR)*lphostent->h_addr_list);saServer.sin_addr.S_un.S_addr=inet_addr(host_name);// 利用SOCKET连接nRet = connect(hsocket,(LPSOCKADDR)&saServer,sizeof(saServer)); if(nRet == SOCKET_ERROR) { printf("建立连接时出错!errorCode=%d ",WSAGetLastError()); closesocket(hsocket); system("pause");return 0; }// 利用SOCKET发送nRet = send(hsocket,req,strlen(req),0);if(nRet==SOCKET_ERROR){printf("发送数据包时出错!");closesocket(hsocket);system("pause");}printf("发送数据包完毕!nRet=%d \n",nRet);char Dest[3000]; nRet=1; while(nRet>0) {// 接收返回数据包nRet=recv(hsocket,(LPSTR)Dest,sizeof(Dest),0); if(nRet>0) Dest[nRet]=0; else Dest[0]=0;// 显示返回数据包的大小、内容printf("返回数据包的大小,nRet=%d \n",nRet); printf("返回数据:%s \n",Dest); }getchar();return 0;}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
效果截图如下:
-----------------------------------------------------------------------------------------------------------------------------------------
您的十分满意是我追求的宗旨。
您的一点建议是我后续的动力。
- VC post表单
- VC POST表单——登录验证新浪邮箱
- 在vc中如何用post方法提交表单
- VC POST表单——登录验证新浪邮箱
- VC POST表单——登录验证新浪邮箱
- VC POST表单——登录验证新浪邮箱
- VC POST表单——登录验证新浪邮箱
- C++.Net Post表单
- C# post表单
- 不用表单post传值
- C# 模拟post表单
- php模拟POST表单
- js post 提交表单
- PHP表单POST
- Servlet:Post提交表单
- struts2 表单提交post
- PHP表单POST
- 处理表单(POST)
- 60个开发者不容错过的免费资源库
- 在线客服系统
- yyck节彰剿何贸沃按gaihe
- HDU 3911 Black And White 分段树 题解
- 2D动画(1)
- VC post表单
- Linux+MySQL+IDEA+DDD+MVC+Spring+Ibatis+Paoding-rose+Velocity+Maven+Git问题记录
- 随笔
- 颠覆现有平台模式 线上下单线下取货
- 【百度之星2014~复赛 解题报告~正解】The Query on the Tree
- JAVA多线程
- C++容器之forward_list
- 我的大学,我的梦想
- 黑马程序员_JAVA单例设计模式