CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

用SOCKET发送POST请求后,怎么得到服务器返回的数据

楼主rigel2001(大宝)2006-05-04 20:04:08 在 VC/MFC / 网络编程 提问

用Socket向一个登陆页面发送一个POST请求,其中包含用户信息,  
  我怎样得到服务器返回的数据呢,我需要得到Cookie数据用于后续Get请求。 问题点数:100、回复次数:11Top

1 楼CW_Wei(朗 月)回复于 2006-05-06 11:47:00 得分 0

up  
  Top

2 楼rigel2001(大宝)回复于 2006-05-06 16:37:30 得分 0

Cookie已经得到了,在后续请求中怎么返回给服务器,因为在第一次POST的返回信息中我得到两行Set-Cookie,我可否在header中写两行Cookie:。。。。。。呢Top

3 楼smzh8(QQ:420827644)回复于 2006-05-06 17:46:15 得分 0

用recv接收啊Top

4 楼bobcowwocb()回复于 2006-10-11 13:51:39 得分 0

cookies数据不是由服务器上的程序来读取的吗?你自己本地程序也想读的话直接去系统目录下面找到相关的txt文件读取它就行啦。  
  也可以由你服务器端的程序读取cookies数据后返回给调用页面就行了。Top

5 楼akirya(坏[其实偶不是什么所谓的坏人])回复于 2006-10-11 14:52:10 得分 30

用浏览器做一次同样操作,抓包。看看浏览器是怎么实现的  
  当然可以查查rfc中的http协议。Top

6 楼sdcer(独钓雪)回复于 2006-10-12 13:52:59 得分 10

就是recv就可以了。  
   
  你的程序send()后,就recv,就可以了。  
   
  至于接收多少   ,你要看Content-length:字段的值。  
   
  Top

7 楼bobcowwocb()回复于 2006-10-19 16:30:47 得分 50

在MFC环境下面:  
  #include   <afxinet.h>  
   
  CString   strHeaders   =  
              _T("Content-Type:   application/x-www-form-urlencoded");  
        //   URL-encoded   form   variables   -  
        //   name   =   "John   Doe",   userid   =   "hithere",   other   =   "P&Q"  
        CString   strFormData   =   _T("name=John+Doe&userid=hithere&other=P%26Q");  
   
        CInternetSession   session;  
        CHttpConnection*   pConnection   =  
              session.GetHttpConnection(_T("ServerNameHere"));  
        CHttpFile*   pFile   =  
              pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,  
                                                              _T("FormActionHere"));  
        BOOL   result   =   pFile->SendRequest(strHeaders,  
              (LPVOID)(LPCTSTR)strFormData,   strFormData.GetLength());  
   
  如果想要得到返回的信息,则这样:  
  CString   strResult,tmpstr;  
        while(pFile->ReadString(tmpstr))  
              strResult+=(tmpstr+"\r\n");  
  AfxMessageBox(strResult);  
  Top

8 楼ctu_85(青灯照壁人初睡,冷雨敲窗被未温)回复于 2006-10-19 16:49:20 得分 0

用数据报,无连接通信使用函数如下        
      WSAStartup()        
      socket()        
      accept()        
      WSASendto()        
      中间不需要邦定    
  Top

9 楼ctu_85(青灯照壁人初睡,冷雨敲窗被未温)回复于 2006-10-19 16:49:34 得分 0

也可以用NMHTTP控件,使用非常的简单。Top

10 楼baojian88888(机器人)回复于 2006-10-19 17:17:55 得分 10

用浏览器做一次同样操作,抓包。看看浏览器是怎么实现的Top

11 楼wzzww(无知者无畏)(此人已死)回复于 2006-11-17 16:21:02 得分 0

POST结束之后要发送!表示这次传输结束,服务器才会返回数据Top

相关问题

关键词

得分解答快速导航

  • 帖主:rigel2001
  • akirya
  • sdcer
  • bobcowwocb
  • baojian88888

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo