关于C#编写的接收Http客户端发来的数据问题

jhwzqjh 2010-06-22 02:47:30
我用C++写了一个代码是完成通过Web服务器来获取我需要的数据
代码如下:

DWORD dwServiceType = AFX_INET_SERVICE_HTTP;
CString szServer, szObject;
INTERNET_PORT nPort;
     //比如: cUrl = "http://192.168.1.16/loginxml.aspx"
AfxParseURL(cUrl, dwServiceType, szServer, szObject, nPort);

CInternetSession mysession;
CHttpConnection* pConnection;
CHttpFile* pHttpFile;
pConnection = mysession.GetHttpConnection(szServer,
INTERNET_FLAG_KEEP_CONNECTION,
nPort,//INTERNET_INVALID_PORT_NUMBER,
NULL, NULL);
pHttpFile = pConnection->OpenRequest("GET", szObject,
NULL, 0, NULL, NULL,
INTERNET_FLAG_KEEP_CONNECTION);
//iXmlLen是cXmlData的长度, cXmlData 是一个XML结构的数据,是向服务器发送的查寻条件
pHttpFile->SendRequestEx( iXmlLen );
pHttpFile->WriteString( cXmlData );
pHttpFile->EndRequest();

//下面是的Web服务器端的回应数据 都是正常的
CString myData;
while( pHttpFile->ReadString(myData) )
{
strcat( retXmlData ,myData.GetBuffer(myData.GetLength()) );
}

pHttpFile->Close();
delete pHttpFile;
pConnection->Close();
delete pConnection;
mysession.Close();

现在的问题的 Web端是 C#写的 ,在Page_Load中 如何读取上面的 成cXmlData 数据,然后我就可以Response返回相应的数据了
...全文
228 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhwzqjh 2010-06-23
  • 打赏
  • 举报
回复
多谢各位。问题解决了,其实很简单就是 数据就在 Request.InputStream 中,通过StreamReader器把他读出来 就OK了
Jeremiah 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jhwzqjh 的回复:]

引用 8 楼 w59879213 的回复:
引用 1 楼 newdigitime 的回复:

web页得到post数据时,都会有一个 键/值 对.

譬如 xmlstr=XML数据
那你在页面中取得就是
Request.Form["xmlstr"]

现在的问题是,你的cXmlData只是值,而不是键/值对?

也可以循环表单,取得页面的HTML元素的内容.
foreac……
[/Quote]

不好意思,真理解错了...
jhwzqjh 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 w59879213 的回复:]
引用 1 楼 newdigitime 的回复:

web页得到post数据时,都会有一个 键/值 对.

譬如 xmlstr=XML数据
那你在页面中取得就是
Request.Form["xmlstr"]

现在的问题是,你的cXmlData只是值,而不是键/值对?

也可以循环表单,取得页面的HTML元素的内容.
foreach(Control in this.form1.……
[/Quote]
大哥,你可能理解错了我的意思,从客户端Post过来的 XML字符流 我不知道怎么读取,这个不太像是表单发过来的数据,它有ID值的
Jeremiah 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 newdigitime 的回复:]

web页得到post数据时,都会有一个 键/值 对.

譬如 xmlstr=XML数据
那你在页面中取得就是
Request.Form["xmlstr"]

现在的问题是,你的cXmlData只是值,而不是键/值对?
[/Quote]
也可以循环表单,取得页面的HTML元素的内容.
foreach(Control in this.form1.Controls)
{

}
然后手动的生成你的cXmlData所需要的结构.
myhope88 2010-06-22
  • 打赏
  • 举报
回复
不清楚,帮顶下
jhwzqjh 2010-06-22
  • 打赏
  • 举报
回复
再顶一下
jhwzqjh 2010-06-22
  • 打赏
  • 举报
回复
自己先顶上去
jhwzqjh 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tianshikuqi8 的回复:]
直接采用读取XML的方式读取不行啊?
[/Quote]
我现在是要先知道发过来的XML数据在哪里,现在是一头雾水
辰爸 2010-06-22
  • 打赏
  • 举报
回复
直接采用读取XML的方式读取不行啊?
jhwzqjh 2010-06-22
  • 打赏
  • 举报
回复
我给服务器的是像下面的XML,好像是没有 键/值对 的
<Message>
<username>admin</username>
<password>12345</password>
</Message>
newdigitime 2010-06-22
  • 打赏
  • 举报
回复
web页得到post数据时,都会有一个 键/值 对.

譬如 xmlstr=XML数据
那你在页面中取得就是
Request.Form["xmlstr"]

现在的问题是,你的cXmlData只是值,而不是键/值对?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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