以下是阅读python核心编程web 开发后的心得笔记
1 统一资源定位符
URL(Uniform Resource Locator,统一资源定位符),它是一个Web地址,用来定位一个文档,或者调用CGI程序来为客户端产生一个文档。
URI(Uniform Resource Identifier,统一资源标识)
URN(Uniform Resource Name,统一资源名称)
URL格式:
prot_sch://net_loc/path;param?query#frag
pro_sch | 网络协议或者下载规划 |
net_loc | 服务器位置 |
path | 文件或CGI应用程序路径 |
param | 可选参数 |
query | 连接符(&)连接键值对 |
frag | 拆分文档中的特殊锚 |
user:passwd@host:port
user和passwd只会在使用FTP连接时用到。
20.2.2 urlparse模块
1. urlparse.urlparse()
将URL字符串拆分成前述的六个部分,以一个元组的形式返回这六个部分。
urlparse(urlstr, defProtSch=None, allowFrag=None)
例如
2. urlparse.urlunparse()与urlparse.urlparse()正好相反,把含url六个部分的元组重新组合成url字符串。
urlunparse(urltup)
3. urlparse.urljoin()
取得baseurl(基路径,即net_loc附加一个完整的路径,但不包括终端文件),并与newurl连接起来,用于生成多个相关的url字符串。
urljoin(baseurl, newurl, allowFrag=None)
20.2.3 urllib模块
1. urllib.urlopen()
打开一个给定url字符串与Web连接,并返回文件类对象。
urlopen(urlstr, postQueryData=None)
若无给定协议或下载规划,或文件规划早已传入,则会打开一个本地文件。
f = urllib.urlopen()对象的方法有f.read(),f.readlines(),f.readline(),f.close(),f.fileno(),f.geturl()和f.info()等。
其中f.info()返回MIME(Mutipurpose Internet Mail Extension,多目标因特网邮件扩展)头文件。这个头文件可以通知浏览器返回的文件类型可以用哪些应用程序打开。f.geturl()获取真实的ur,这个url考虑了所有可能发生的间接导向。
2. urllib.urlretrieve()
除从url中读取文件内容,还可以将整个html文件下载到本地硬盘中。
urlretrieve(urlstr, localfile=None, downloadStatusHook=None)
给定localfile(本地文件路径?),就可以下载html。downloadStatusHook可以用来表示下载状态。
urlretrieve()返回一个2元组,(filename, mime_hdrs),filename是包含下载数据的本地文件名,mime_hdrs是针对Web服务器响应后返回的一系列MIME文件头(?)。
3. urlquote()和urlquote_plus()
对url字符串进行编码。
在对url字符串的编码中,逗号、下划线、句号、斜线和字母数字这类符号不需要转换,其他均需要转换,加%,同时转换成其十六进制的ASCII值。
urlquote()和urlquote_plus()的不同之处在于后者将空格编码成'+'。4. urllib.unquote()和urllib.unquote_plus()
解码。
5. urllib.urlencode()
将字典键值对编译成有效的CGI请求字符串(?)。
6. 安全套接字层支持
安全套接字层(Secure Socket Layer, SSL).
20.2.4 urllib2模块
处理更复杂的url打开问题。