鱼C论坛

 找回密码
 立即注册

InternetOpenUrl函数

热度 5已有 1657 次阅读2012-4-23 14:06 |个人分类:网络

InternetOpenUrl函数
(jadedrip 翻译)

通过一个完整的FTP,Gopher或HTTP网址打开一个资源。 

HINTERNET InternetOpenUrl(
  __in  HINTERNET hInternet,
  __in  LPCTSTR lpszUrl,
  __in  LPCTSTR lpszHeaders,
  __in  DWORD dwHeadersLength,
  __in  DWORD dwFlags,
  __in  DWORD_PTR dwContext
);

参数:
hInternet
当前的 Internet 会话句柄。句柄必须由前期的 InternetOpen 调用返回。

lpszUrl
一个空字符结束的字符串变量的指针,指定读取的网址。只有以ftp:, gopher:, http:, 或者 https: 开头的网址被支持。

lpszHeaders
一个空字符结束的字符串变量的指针,指定发送到HTTP服务器的头信息。欲了解更多信息,请参阅HttpSendRequest函数里lpszHeaders参数的说明。

dwHeadersLength
额外的头的大小,以TCHAR为单位。如果这个参数是-1L并且lpszHeaders不是NULL,lpszHeaders被假设为零终止( ASCIIZ ),而长度被自动计算。

dwFlags
此参数可为下列值之一。

数值 说明:
INTERNET_FLAG_EXISTING_CONNECT
如果使用相同的必须属性创建会话,会尝试利用现有的InternetConnect对象。这只对FTP操作非常有用,因为FTP是唯一在同一会话中执行多种操作的协议。WinINet API 为每个由InternetOpen产生的HINTERNET句柄缓冲一个单独链接句柄。InternetOpenUrl使用此标志的HTTP和FTP连接。

INTERNET_FLAG_HYPERLINK
当决定何时从网络重载时,如果服务器没有返回 Expires time 和 LastModified,那么强制重载。

INTERNET_FLAG_IGNORE_CERT_CN_INVALID
停用检查从服务器对必须的主机名称返回的SSL/PCT-based证书。 WinINet函数使用简单的比较匹配主机名称和通配符的规则检查证书。

INTERNET_FLAG_IGNORE_CERT_DATE_INVALID
停用检查的SSL/PCT-based的证书的适当的有效日期。

INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
禁用检测这中特殊的重定向。当使用此标志, WinINet 透明允许从HTTPS到HTTP URL的重定向。

INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
禁用检测这中特殊的重定向。当使用此标志, WinINet 透明的允许的HTTP到HTTPS URL的重定向。

INTERNET_FLAG_KEEP_CONNECTION
如果可能的话,为连接使用保活语义。这个标志要求微软网络( MSN ),NTLM和其他类型的身份验证。

INTERNET_FLAG_NEED_FILE
如果要创建的文件不能被缓存,创建临时文件。

INTERNET_FLAG_NO_AUTH
不试图自动验证。

INTERNET_FLAG_NO_AUTO_REDIRECT
不自动处理HttpSendRequest中的重定向。

INTERNET_FLAG_NO_CACHE_WRITE
不添加返回实体到缓存。

INTERNET_FLAG_NO_COOKIES
不会自动添加的Cookie头到请求,并且不自动添加返回的cookie到cookie数据库。

INTERNET_FLAG_NO_UI
禁用Cookie的对话框。

INTERNET_FLAG_PASSIVE
使用被动FTP语义。InternetOpenUrl为FTP的文件和目录使用此标志。

INTERNET_FLAG_PRAGMA_NOCACHE
即使代理中存在缓存副本,也强制要求由源服务器返回。

INTERNET_FLAG_RAW_DATA
检索的Gopher目录信息时,传回的数据作为GOPHER_FIND_DATA结构,如果检索的FTP目录信息时,作为一个WIN32_FIND_DATA结构。如果此标志没有指定,或者请求通过CERN代理创建, InternetOpenUrl返回的HTML版本的目录。

INTERNET_FLAG_RELOAD
从原服务器强制下载所要求的文件,对象,或目录列表,而不是从缓存下载。

INTERNET_FLAG_RESYNCHRONIZE
重新加载的HTTP资源,如果资源在最后一次下载后已被修改。所有FTP和Gopher资源将被重载。

INTERNET_FLAG_SECURE
使用安全传输语义。这次传输使用安全套字节层/专用通信技术(的SSL / PCT ),这只有在HTTP请求时有意义。

dwContext
一个指向一个应用程序定义的值,将随着返回的句柄,一起传递给回调函数。

返回值:
如果已成功建立到FTP,Gopher,或HTTP URL的连接,返回一个有效的句柄,如果连接失败返回NULL。要检索特定的错误讯息,请GetLastError 。要确定为什么对服务器的访问被拒绝,请调用InternetGetLastResponseInfo。

备注:在使用完InternetOpenUrl返回的HINTERNET句柄后,必须使用InternetCloseHandle函数关闭它。

注意:当工作在异步模式(InternetOpen的dwFlags参数指定INTERNET_FLAG_ASYNC)和dwContext参数是零 (INTERNET_NO_CALLBACK),使用InternetSetStatusCallback函数设置的回调,将不被引用,但是,将仍然在异步模式执行回调。

要求:
客户端需要 Windows Vista, Windows XP, Windows 2000 Professional, Windows NT Workstation 4.0, Windows Me, Windows 98, 或者 Windows 95。
服务器需要 Windows Server 2008, Windows Server 2003, Windows 2000 Server, 或 Windows NT Server 4.0。

版本:需要 Internet Explorer 3.0 或更高版本。

头文件:在 Wininet.h 中声明。

库:使用 Wininet.lib 。

DLL:需要 Wininet.dll 。

Unicode:执行InternetOpenUrlW(Unicode)和InternetOpenUrlA (ANSI) 的。
2

路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (3 人)

发表评论 评论 (2 个评论)

回复 格式天下 2012-4-24 21:11
鱼哥,虽然我不太懂,可我觉得如果有例子的话会更好理解的
回复 风之残月 2013-1-1 16:52
的确,可不可以弄个例子出来

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 11:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部