internetopenurl:InternetOpenUrl函数

通过个完整FTPGopher或HTTP网址打开个资源

HINTERNET InternetOpenUrl (__in HINTERNET hInternet __in LPCTSTR lpszUrl __in LPCTSTR lpszHeaders __in DWORD值dwHeadersLength __inDWORD dwFlags __in DWORD_PTR dwContext) ;参数
hInternet
当前 Internet 会话句柄句柄必须由前期 InternetOpen 返回

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

lpszHeaders
个空结束串变量指针指定发送到HTTP服务器头信息欲了解更多信息请参阅HttpSendRequest里lpszHeaders参数介绍说明

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

dwFlags
此参数可为下列值的

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

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

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
如果要创建文件不能被缓存Cache创建临时文件

INTERNET_FLAG_NO_AUTH
不试图自动验证

INTERNET_FLAG_NO_AUTO_REDIRECT
不自动处理HttpSendRequest中重定向

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

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

INTERNET_FLAG_NO_UI
禁用Cookie对话框

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

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

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

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

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

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


dwContext
个指向个应用定义将随着返回句柄起传递给回调

返回值
如果已成功建立到FTPGopher或HTTP URL连接返回个有效句柄如果连接失败返回NULL要检索特定讯息请GetLastError 要确定为什么对服务器访问被拒绝InternetGetLastResponseInfo

备注
InternetCanonicalizeUrl如果正在使用网址包含个相对URL和个空格分隔基础URL

这是个通用可用于使用任何WinINet支持协议检索数据这个在应用并不需要指定特定协议只需要相应URL数据时特别有用InternetOpenUrl解析URL建立连接到服务器并准备下载指定URL数据该应用可以用InternetReadFile (对文件)或InternetFindNextFile (对目录)来检索URL数据没有必要在InternetOpenUrl 前InternetConnect

InternetOpenUrl在少于1024端口上禁用Gopher除了70——标准Gopher端口和105——通常用于中央服务组织(民间组织)名字搜索

在使用完InternetOpenUrl返回HINTERNET句柄后必须使用InternetCloseHandle关闭它

注意 :当工作在异步模式(InternetOpendwFlags参数指定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)
Tags:  open函数用法 phpopen函数 open函数 internetopenurl

延伸阅读

最新评论

发表评论