CInternetSession::OpenURL

CStdioFile* OpenURL(LPCTSTR pstrURL,
                    DWORD dwContext = 1,
                    DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
                    LPCTSTR pstrHeaders = NULL,
                    DWORD dwHeadersLength = 0
                   );
  throw(CInternetException);

返回值:
只返回FTP,GOPHER,HTTP和FILE类型Internet服务的文件句柄。如果文法分析映射不成功,则返回NULL。
OpenURL返回的指针取决于pszURL的服务类型。下列表格表示了OpenURL返回的可能指针。
URL类型返回
file://CStdioFile*
http://CHttpFile*
Gopher://CGopherFile*
ftp://CInternetFile*

参数:
pstrURL指向开始读取的URL名字的指针。只有以file:,ftp:,Gopher:或http:开始的URL才被支持。如果pszURL为NULL,则为ASSERTS。
dwContext在调用中与返回句柄一起传递的应用定义的值。
dwFlags描述如何处理此连接的标记。可用位或OR操作符(|)组合的有效标记是:
·INTERNET_FLAG_TRANSFER_ASCII缺省值。以ASCII文本传输文件。
·INTERNET_FLAG_TRANSFER_BINARY以二进制形式传输文件。
·INTERNET_FLAG_RELOAD从网上获得数据,即使是本地缓存的。
·INTERNET_FLAG_DONT_CACHE不缓存数据,无论是本地的还是网关的。
·INTERNET_FLAG_SECURE此标记只用于HTTP 请求。它使用安全套接字子层或PCT请求网上安全事务处理。
·INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT如果可能,对于由OpenUrl生成的新的请求,仍使用已存在的连接,而不是为每个连接请求创建一个新的会话。
·INTERNET_FLAG_PASSIVE用于得到FTP位置。使用被动FTP语义。与OpenURL的CInternetConnection一起使用。
pstrHeaders指向包含发送到HTTP服务器的标题的字符串的指针。
dwHeadersLength附加标题的长度,以字符表示。如果其为-1L且pstrHeaders为非NULL,那么pstrHeaders被认为是空终止的且长度已计算。

说明:
调用此成员函数发送指定的请求到HTTP服务器,允许客户指定附加的RFC822,MIME或者HTTP标题与请求一起发送。
参数dwFlags必须包括INTERNET_FLAG_TRANSFER_ASCII或INTERNET_ FLAG_TRANSFER_BINARY,但不能两个都有。剩下的标记可用位或OR操作符(|)组合。
与Win32函数InternetOpenURL捆绑的OpenURL,只允许下载、获得或读取来自Internet服务器的数据。OpenURL不允许文件在远端操纵,所以它不需要CInternetConnection对象。
使用指定的连接(也即,指定的协议)函数,如写文件,必须打开一个会话,然后打开一个指定连接,再使用此连接来打开所需模式的文件。请参阅 Cinternet-Connection ,以了解有关连接指定函数的更多信息。

请参阅:
CInternetConnection, CGopherConnection, CInternetSession::GetFtpConnection, CInternetSession::GetHttpConnection