1,

InternetOpen 创建根句柄,由下一层的 InternetOpenUrl 和 InternetConnect 使用,
而 InternetConnect 创建的句柄又被之后的几个函数使用。
HINTERNET InternetOpen(
_In_ LPCTSTR lpszAgent,
_In_ DWORD   dwAccessType,
_In_ LPCTSTR lpszProxyName,
_In_ LPCTSTR lpszProxyBypass,
_In_ DWORD   dwFlags
);Initializes an application's use of the WinINet functions.初始化winnet。
lpszAgent [in]
Pointer to a null-terminated string that specifies the name of the application or entity calling the WinINet functions. This name is used as the user agent in the HTTP protocol.
lpszAgent参数指定了调用wininet函数的应用程序或实体名称,并使用来填充http协议头的UserAgent字段。

2,

HINTERNET InternetOpenUrl(
_In_ HINTERNET hInternet,
_In_ LPCTSTR   lpszUrl,
_In_ LPCTSTR   lpszHeaders,
_In_ DWORD     dwHeadersLength,
_In_ DWORD     dwFlags,
_In_ DWORD_PTR dwContext
); Opens a resource specified by a complete FTP or HTTP URL.打开URL指定的资源。
lpszHeaders [in]
A pointer to a null-terminated string that specifies the headers to be sent to the HTTP server. For more information, see the description of the lpszHeaders parameter in the HttpSendRequest function.指定发送到server的http头信息。
dwContext [in]
A pointer to a variable that specifies the application-defined value that is passed, along with the returned handle, to any callback functions.一个指向一个应用程序定义的值,将随着返回的句柄,一起传递给回调函数。

3,

HINTERNET InternetConnect(
_In_ HINTERNET     hInternet,
_In_ LPCTSTR       lpszServerName,
_In_ INTERNET_PORT nServerPort,
_In_ LPCTSTR       lpszUsername,
_In_ LPCTSTR       lpszPassword,
_In_ DWORD         dwService,
_In_ DWORD         dwFlags,
_In_ DWORD_PTR     dwContext
); Opens an File Transfer Protocol (FTP) or HTTP session for a given site.
lpszServerName [in]
Pointer to a null-terminated string that specifies the host name of an Internet server. Alternately, the string can contain the IP number of the site, in ASCII dotted-decimal format (for example, 11.0.1.45).主机的域名或IP地址。
nServerPort [in]
Transmission Control Protocol/Internet Protocol (TCP/IP) port on the server. These flags set only the port that is used.

dwContext [in]

5,

6,


HINTERNET HttpOpenRequest(
_In_ HINTERNET hConnect,
_In_ LPCTSTR   lpszVerb,
_In_ LPCTSTR   lpszObjectName,
_In_ LPCTSTR   lpszVersion,
_In_ LPCTSTR   lpszReferer,
_In_ LPCTSTR   *lplpszAcceptTypes,
_In_ DWORD     dwFlags,
_In_ DWORD_PTR dwContext
); Creates an HTTP request handle.
一旦和服务器的连接已经建立,我们打开了想要的文件。HttpOpenRequest去创建个请求句柄并且把参数存储在句柄中,HttpSendRequest把请求参数送到HTTP服务器。

lpszVerb指定请求的方法为"GET"、"PUT"或"POST",值填NULL默认为"GET"。
lpszObjectName指定页面地址,通常为文件名称、可执行模块或者查找标识符,如/MSDN/MSDNINFO/
lpszVersion标识HTTP版本,如"HTTP/1.1"


lpszReferer指定包含lpszObjectName文档的网址。
lplpszAcceptTypes表示客户接受的内容类型。如果该字符串为NULL,服务器认为客户接受"text/*"类型的文档 (也就是说,只有纯文本文档,并且不是图片或其它二进制文件)。内容类型与CGI变量CONTENT_TYPE相同,该变量确定了要查询的含有相关信息的 数据的类型,如HTTP POST和PUT。

Wininet笔记一的更多相关文章

  1. Win7下IE8无法打开https类型的网站解决方法笔记

      现象: 一台笔记本(XP系统),一台台式机(Win7,64位系统),都是IE8,之前没任何问题,访问https也没异常,都能正常访问; 前天突然发现登录火车票网站出现无法打开登录页面情况,后来换其 ...

  2. python学习笔记比较全

    注:本笔记基于python2.6而编辑,尽量的偏向3.x的语法 Python的特色 1.简单 2.易学 3.免费.开源 4.高层语言: 封装内存管理等 5.可移植性: 程序如果避免使用依赖于系统的特性 ...

  3. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  8. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  9. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

随机推荐

  1. android.content.res.Resources$NotFoundException:String resource ID #ffffffff

    无语,搞了半天,只能去插这个错误代号,结果就找到了这个结果. scoreTextView.setText(score+""); 这个一定要自己手动转换..不科学啊..关键是在ecl ...

  2. thinkphp模板中使用自定义函数

    注意:自定义函数要放在项目应用目录/common/common.php中. 这里是关键. 模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### ...

  3. iOS开发——动画篇Swift篇&炫酷弹出菜单

    炫酷弹出菜单   这个是一个第三方按钮菜单组件,原版是使用Objective-C编写的名为AwesomeMenu的组件,地址是:https://github.com/levey/AwesomeMenu ...

  4. 小米2及其他Android手机无法连接mac解决方案

    一般的android连接mac 很方便不用安装驱动就可以啦,可是不知道为什么二般情况下有的android手机(小米2,华为等)就是连接不上,下来就说说二般情况下如何连接. 1.关于本机-->更多 ...

  5. Javassist初体验

           最初接触javassist是在研究dubbo源码的时候,那会对其的理解还停留在动态生成字节码的位置,可以做动态代理之类的动态化处理.最近由于项目需要扫描springMVC中control ...

  6. Programming Assignment 1: Percolation

    问题描述可以详见:http://coursera.cs.princeton.edu/algs4/assignments/percolation.html 关于QuickFindUF的javadoc:h ...

  7. Redis 集合(Set)

      Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1). 集合中最 ...

  8. Debian下的PPPOE服务器配置

    参考: http://blog.csdn.net/zhangwenjianqin/article/details/7655375 http://blog.sina.com.cn/s/blog_8043 ...

  9. python(6)- hashlib模块

    加密算法: SHA1,SHA224, SHA256, SHA384, SHA512 , MD5 1. md5 import hashlib m = hashlib.md5() m.update(b&q ...

  10. python(1) - 变量小测试

    下面看一道题目: a = 3 b = a a = 5 print(a,b) 程序最后输出的a,b值分别是多少呢? 先想一想,然后我们执行一下看看正确答案: 正确答案 a 的值是5, b的值是3,为什么 ...