VC post表单

参考文章: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_IN	saServer;
	LPHOSTENT	lphostent;
	WSADATA		wsadata;
	SOCKET		hsocket;
	
	int		nRet;
	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;
}


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

效果截图如下:

-----------------------------------------------------------------------------------------------------------------------------------------


您的十分满意是我追求的宗旨。

您的一点建议是我后续的动力。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
VC是风险投资的缩写,通常用来指称风险投资公司或个人。VC post https可以理解为风险投资机构在互联网上发布有关项目、投资机会或其他相关的信息。在互联网时代,VC们越来越倾向于使用互联网平台发布信息,以便更好地与创业者、投资者和其他利益相关方进行沟通和交流。 使用https协议意味着信息发布平台将提供安全的加密连接,确保信息的保密性和完整性。这对于VC而言尤为重要,因为他们发布的信息通常包含机密的商业计划、财务数据等,需要得到充分的保护。同时,https也能有效抵御恶意攻击和数据篡改,确保信息的真实性和可信度。 通过在互联网上发布信息,VC能够扩大其曝光度,吸引更多的创业者和投资者关注和参与。创业者可以通过阅读VC发布的信息了解到有哪些机会可以获得资金支持和资源,从而更好地展示和推广自己的创业项目。而投资者也可以通过VC发布的信息了解到哪些项目有潜力和回报,从而做出更明智的投资决策。 此外,VC post https也有助于VC机构之间的合作和交流。不同的VC可能有不同的专长和偏好,通过在互联网上发布信息,他们可以相互了解和学习,可能会有更多的合作和联合投资的机会。 总而言之,VC post https是VC们利用互联网平台发布有关项目、投资机会和其他相关信息的一种方式。这种方式能够提高信息的安全性和保密性,同时也扩大了VC与创业者、投资者之间的沟通和交流,促进了创业生态的发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

friendan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值