MSN登录问题(https协议)

Free_Man 2004-06-11 10:58:04


在登录MSN时,登录验证总是过不去.
具体是在https协议发送请求时.有一些东西发出去以后,返回数据不对.
具体例子及协议链接:
http://www.hypothetic.org/docs/msn/notification/authentication-example.php

问题在:USR 3 TWN I之后,前面一切顺利
在nexus.passport.com上用https取得数据正确.(这步标志为A)
在login.passport.com上数据总数不正确,返回HTTP/1.1 404(请求页面不能发现)(这步标志为B)

A和B的区别:
A只发一个:GET /rdr/pprdr.asp HTTP/1.0\r\n
B发送数据:GET /login2.srf HTTP/1.1\r\n
还有类似如下数据: Authorization: Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=example%40passport.com,pwd=password,lc=1033,id=507,tw=40,fs=1,ru=http%3A%2F%2Fmessenger%2Emsn%2Ecom,ct=1062764229,kpp=1,kv=5,ver=2.1.0173.1,tpf=43f8a4c8ed940c04e3740be46c4d1619\r\n
Host: login.passport.com\r\n


代码如下(各位大虾帮我看看有什么问题):


static LPCTSTR szAcceptType=TEXT(__HTTP_ACCEPT_TYPE);

if(!_hConnection || _hConnection==INVALID_HANDLE_VALUE)
throw "handle not opened...";

_hRequest=::HttpOpenRequest( _hConnection, //_hConnection已经正常打开
__HTTP_VERB_GET, // HTTP Verb
szuri, // Object Name (我在这里放入GET /login2.srf HTTP/1.1\r\n)
HTTP_VERSION, // Version
szref, // Reference
&szAcceptType, // Accept Type
INTERNET_FLAG_NO_CACHE_WRITE | (_t==w3https? INTERNET_FLAG_SECURE:0),
NULL); // context call-back point

if(!_hRequest || _hRequest==INVALID_HANDLE_VALUE)
throw "request failed...";
char szTmpHeadData[2048] = { 0 };
strcpy( szTmpHeadData , HeaderData1 );

// if(!::HttpAddRequestHeaders( _hRequest,
// __HTTP_ACCEPT, strlen(__HTTP_ACCEPT),
// HTTP_ADDREQ_FLAG_REPLACE))
// printf( "错了1\r\n" );

if(!::HttpAddRequestHeaders( _hRequest,
szTmpHeadData, strlen(szTmpHeadData), //我在这里放入: Authorization: Pa...
HTTP_ADDREQ_FLAG_COALESCE))
printf( "错了2\r\n" );
memset( szTmpHeadData , 0 , 2048 );
strcpy( szTmpHeadData , HeaderData2 );
if(!::HttpAddRequestHeaders( _hRequest,
szTmpHeadData, strlen(szTmpHeadData), //我在这里放入: Host: login.passport.com\r\n
HTTP_ADDREQ_FLAG_COALESCE))
printf( "错了3\r\n" );
// REPLACE HEADER
//if(!::HttpAddRequestHeaders( _hRequest,
// __HTTP_ACCEPT, strlen(__HTTP_ACCEPT),
// HTTP_ADDREQ_FLAG_REPLACE))
// throw "additional header failed...";

// SEND REQUEST
if(!::HttpSendRequest( _hRequest, // handle by returned HttpOpenRequest
NULL, // additional HTTP header
0, // additional HTTP header length
NULL, // additional data in HTTP Post or HTTP Put
0) // additional data length
)
throw "request failed...";


_szuri=szuri;

}catch(const char *szm){
::InternetCloseHandle(_hRequest);
_hRequest=NULL;
__w3cexcept(_szaddress.c_str(), _nport, _t, szuri, szm);
}catch(...){
::InternetCloseHandle(_hRequest);
_hRequest=NULL;
__w3cexcept(_szaddress.c_str(), _nport, _t, szuri, "unknown exception...");
}
...全文
258 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Free_Man 2004-06-17
  • 打赏
  • 举报
回复
不要让我伤心啊,CSDN的高手们!
Free_Man 2004-06-15
  • 打赏
  • 举报
回复
另见:
http://community.csdn.net/Expert/topic/3082/3082664.xml?temp=.1121027

昨天微软把我的Msn账号停了一天,郁闷!
lbird 2004-06-14
  • 打赏
  • 举报
回复
up
Free_Man 2004-06-14
  • 打赏
  • 举报
回复
CSDN的高手哪里去了?
Free_Man 2004-06-13
  • 打赏
  • 举报
回复
大家发言!
flyelf 2004-06-12
  • 打赏
  • 举报
回复
gzing
PiggyXP 2004-06-12
  • 打赏
  • 举报
回复
楼主强人^_^

不懂,进来学习
Free_Man 2004-06-11
  • 打赏
  • 举报
回复
问题就在取得ticket的最后一步出现的.
计算机应用基础(二)作业4(同名20889) 计算机应用基础(二)作业4(同名20889)全文共11页,当前为第1页。计算机应用基础(二)作业4(同名20889) 计算机应用基础(二)作业4(同名20889)全文共11页,当前为第1页。 题目1 规范的讲,大家常说的某人网址是指某人的_____________。 a. 电子邮件地址 b. WWW地址 c. 单位地址 d. 家庭地址 题目2 下列关于在互联网上进行网上交流错误的是______。 a. Telnet(远程登录)可以登陆BBS b. E-Mail也是一种网上交流形式 c. "博客"是使用特定的软件,在网络上出版、发表和张贴个人文章的人,并实现网上交流 d. "万维网"就是BBS的论坛 题目3 Internet的两种主要接入方式是______。 a. WINDOWS NT方式和NOVELL网方式 b. 广域网方式和局域网方式 c. 专线入网方式和拨号入网方式 d. 远程网方式和局域网方式 题目4 HTTP协议采用________方式传送web数据。 a. 匿名发送 b. 随即发送 c. 请求/响应 d. 被动接收 题目5 Ipconfig命令参数______可以查看更详细的信息。 a. release b. EL c. all d. renew 题目6 移动笔记本用户最理想的接入网络的方式是________。 a. 无线LAN b. 光纤 c. ADSL d. 同轴电缆 题目7 大中型企业用户全功能的应用,最理想的接入网络的方式是______。 a. 无线LAN b. ADSL c. 光纤 d. 同轴电缆 题目8 TCP/IP协议分层模型中,______定义了TCP和UDP协议。 a. 运输层(或称传输层) b. 应用层 c. 网络层 d. 物理层 题目9 应用层可以支持的为________。 a. UDP协议和SMTP协议 b. HTTP协议和SMTP协议 c. TCP协议和HTTP协议 d. TCP协议和UDP协议 题目10 不是即时通信软件是:________。 a. E-mail b. QQ c. SKYPE d. MSN 题目11 目前使用的Internet是一个典型的________结构。 a. 客户机/数据库 b. 客户机/客户机 c. 服务器/服务器 d. 客户机/服务器 题目12 Internet传递文件的最主要的协议是______协议。 a. HTTP b. FTP c. SMTP和POP3 d. TCP/IP 题目13 以下对代理服务器说法不正确的是______。 a. 保护局域网的安全 b. 不可以限制封锁IP地址 c. 可以限制封锁IP地址 d. 限制内网对外部的访问权限 题目14 用IE浏览器浏览网页,在地址栏中输入网址时,通常可以省略________。 a. http:// b. news:// c. ftp:// d. mailto:// 题目15 TCP/IP分层模型从下到上,依次为_________。 a. 物理链路层、传输层、网络层、应用层 b. 物理链路层、网络层、运输层、应用层 c. 应用层、传输层、网络层、物理链路层 d. 应用层、网络层、传输层、物理链路层 题目16 关于WWW,不正确的说法是_________。 a. 浏览WWW主要采用HTTP协议 b. WWW是World Wide Web的缩写 c. WWW在查找不同信息时,使用不同的协议 d. WWW通常称为万维网 题目17 常用的接入Internet方式有______。 a. 以上都是 b. LAN c. 电话拨号 d. ADSL接入 计算机应用基础(二)作业4(同名20889)全文共11页,当前为第2页。题目18 无线LAN接入网络对比拨号接入的特点是______。 a. 速度较快、方便 b. 速度较快、不方便 c. 速度慢、方便 d. 速度慢、 不方便 计算机应用基础(二)作业4(同名20889)全文共11页,当前为第2页。 题目19 ISP主要提供______接入服务。 a. DNS b. 网站 c. 网络 d. 邮件 题目20 调制解调器的作用是______。 a. 把模拟信号转换为数字信号 b. 其它三个选项都不对 c. 模拟信号和数字信号之间相互转换 d. 把数字信号转换为模拟信号 题目21 以下不属于目前常用的传输介质的是______。 a. 同轴电缆 b. 光纤 c. 双绞线 d. 卫星信道 题目22 在拨号网络设置中,必选的网络协议是_______________。 a. IPX\SPX b. NetBEUI c. TCP\IP d. NWLINK 题目23 电话拨号接入网络带宽目前大约为______。 a. 56Mbps b. 128Kbps

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧