社区
HTML/XML
帖子详情
请问CInternetSession::OpenURL 和 CInternetSession::GetHttpConnection 有什么不同?
haluo
2003-12-10 03:41:05
谢谢!
...全文
248
8
打赏
收藏
请问CInternetSession::OpenURL 和 CInternetSession::GetHttpConnection 有什么不同?
谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yangbc
2004-01-05
打赏
举报
回复
up
yangbc
2004-01-05
打赏
举报
回复
up
yangbc
2004-01-05
打赏
举报
回复
up
haluo
2003-12-10
打赏
举报
回复
多谢你,老刘。
对于您第三篇的回复中:
CInternetSession session;
CHttpConnection* pConnection =
session.GetHttpConnection(_T("ServerNameHere"));
CHttpFile* pFile =
pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,
_T("FormActionHere"));
"ServerNameHere" 和 "FormActionHere" 该怎么写?
譬如我想实现以下表单提交,该怎么具体实现:
<form name=f action=http://www1.baidu.com/baidu>
<input type=hidden name=cl value=3>
<input type=hidden name=tn value=baidu>
<input type=text name=word class=ff size=35>
<input type=submit value=百度搜索 name="submit">
</form>
谢谢!
laolaoliu2002
2003-12-10
打赏
举报
回复
可以通过WinInet类与Internet服务器建立连接、查询或接收文件,也可向服务器发送文件。使用WinInet类CInternetSession的对象,如果用协议HTTP、FTP或Gopher资源地址,URL (Uniform Resource Locator)可不必连接服务器,直接调用成员函数OpenURL()来得到一个只读的资源文件(CInternetFile),然后用CStdioFile类的成员函数去处理这些数据。如果想对服务器的内容进行更多的处理,可用CInternetConnection类的函数Get Ftp Connection ()、GetGopherConnection() 或GetHttpConnection()来实现每一种协议的连接处理,从中可见MFC类网络编程的强大功能。
laolaoliu2002
2003-12-10
打赏
举报
回复
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());
laolaoliu2002
2003-12-10
打赏
举报
回复
void CSp_14Dlg::GetURL(void)
{
UpdateData();
CInternetSession sess;//建立会话
CHttpFile* pF=(CHttpFile*)sess.OpenURL(m_szURL);//打开文件
CString szData,szAllData;
while(pF->ReadString(szData))
{//读取文件
szAllData+="\r\n";
szAllData+=szData;
}
pF->Close();
sess.Close();
m_szHTML=szAllData;
UpdateData(FALSE);
}
laolaoliu2002
2003-12-10
打赏
举报
回复
在建立会话后就可以利用CInternetSession::OpenURL打开一个URL,并读取数据,函数原型为:
CStdioFile* OpenURL( LPCTSTR pstrURL, //文件URL地址
DWORD dwContext = 1, //上下文ID
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, //标记
LPCTSTR pstrHeaders = NULL, //发送到服务器的数据头
DWORD dwHeadersLength = 0 );//发送到服务器的数据头长度
dwFlags可以为:
INTERNET_FLAG_RELOAD 强制重读数据
INTERNET_FLAG_DONT_CACHE 不保存到缓存
INTERNET_FLAG_TRANSFER_ASCII 使用文本数据
INTERNET_FLAG_TRANSFER_BINARY 使用二进制数据
OpenURL的返回值为CStdioFile文件指针,函数会根据使用的协议返回不同的文件类指针,但这些类都是CStdioFile的派生类。
CIn
ternet
Session
问题记录
程序运行俩个小时后出现无法分配更多的In
ternet
句柄错误,用的是
CIn
ternet
Session
类。这是哪儿出现了错误啊。...每个
CIn
ternet
Session
::Get
Http
Connection
得到的C
Http
Connection
*都Close了吗? 每个
CIn
ternet
Session
...
CIn
ternet
Session
的简单使用
CIn
ternet
Session
使用类
CIn
ternet
Session
创建并初始化一个或多个同时的In
ternet
会话。如果需要,还可描述与代理服务器的连接。如果In
ternet
连接必须在应用过程中保持着,可创建一个类CWinApp的...
关于
CIn
ternet
Session
关于
CIn
ternet
Session
2009-09-01 10:06 CObject└
CIn
ternet
Session
使用类
CIn
ternet
Session
创建并初始化一个或多个同时的In
ternet
会话。如果需要,还可描述与代理服务器的连接。如果In
ternet
连接必须在...
CIn
ternet
Session
介绍与简单使用
使用类
CIn
ternet
Session
创建并初始化一个或多个同时的In
ternet
会话。如果需要,还可描述与代理服务器的连接。
CIn
ternet
Session
CObject └
CIn
ternet
Session
如果...
MFC网络编程1
WinInet类是对WinInet API的封装,它有许多优越之处,程序员无需了解网络传输协议和windows套接字的细节,只需简单的调用里的几个成员函数就可与服务器建立连接。WinInet API进行网络编程需要大量的底层编程工作,...
HTML/XML
3,055
社区成员
8,066
社区内容
发帖
与我相关
我的任务
HTML/XML
VC/MFC HTML/XML
复制链接
扫一扫
分享
社区描述
VC/MFC HTML/XML
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章