`
san_yun
  • 浏览: 2664175 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

urlparse,httplib,urllib和urllib2

 
阅读更多
参考:http://www.cnblogs.com/chenzehe/archive/2010/08/30/1812995.html
http://www.cnblogs.com/txw1958/archive/2012/03/12/2392067.html

通过urlparse提供了强大的url解析能力:
>>> url="http://localhost/test.py?a=hello&b=world "
>>> result=urlparse.urlparse(url)
>>> result
ParseResult(scheme='http', netloc='localhost', path='/test.py', params='', query='a=hello&b=world ', fragment='')
>>> urlparse.parse_qs(result.query,True)
{'a': ['hello'], 'b': ['world ']}
>>> params=urlparse.parse_qs(result.query,True)
>>> params
{'a': ['hello'], 'b': ['world ']}
>>> params['a'],params['b']
(['hello'], ['world '])


urlparse
result = urlparse.urlparse("http://item.taobao.com/item.htm?id=14952833371")
>>> result.path
'/item.htm'
>>> result.query
'id=14952833371'
>>> result.hostname
'item.taobao.com'
>>> params = urlparse.parse_qs(result.query)
>>> dict: {u'id': [u'14952833371']}


import urllib2
import urllib

#request = urllib2.Request(url="http://0.0.0.0:8080/",headers={"FUCK":"fuck"})
#content = urllib2.urlopen(request)

values ={'name' : 'test short talk','via':'xxxx'}
form_data = urllib.urlencode(values) 
content = urllib2.urlopen("http://0.0.0.0:8080/", data=form_data, timeout=3)
print content.readline()
content.close()



import urllib2
import urllib
import httplib
import string
from struct import unpack
from struct import pack


type, uri = urllib.splittype("http://0.0.0.0:8080/hello")
print type+"\t"+uri
host, uri = urllib.splithost(uri)
print host+"\t"+uri

h = httplib.HTTP(host)
h.putrequest("POST", uri)
h.putheader("Host", host)
h.putheader("User-Agent","hessianlib.py")
h.endheaders()
values ={'name' : 'test short talk','via':'xxxx'}  
form_data = urllib.urlencode(values)   

out = []
write = write = out.append
method = "hello"
#write("c\x01\x00m");
write(pack(">H", len(method)));
write(method)
result = string.join(out, "")    
print "result:"+result
h.send(result)


result = urlparse.urlparse(buyable_links['taobao'])
params=urlparse.parse_qs(result.query, True)
分享到:
评论

相关推荐

    python-twitter-api:根据许可协议分发的软件#是按“原样”分发的,没有任何明示或暗示的担保或条件。 #请参阅许可证,以了解许可证下特定的语言管理权限和限制。 '''提供与Twitter API的Python接口的库'''导入base64导入日历导入日期时间导入httplib导入os导入rfc822导入sys导入tempfile导入textwrap导入时间导入日历导入urllib导入urllib2导入urlparse导入gzip导入StringIO try-Time color source

    python-twitter-api #!/ usr / bin / python2.4##版权所有2007 Python-Twitter开发人员##根据Apache... #请参阅许可证,以了解许可证下特定的语言管理权限和限制。 '''提供与Twitter API的Python接口的库'''

    Python实现HTTP协议下的文件下载方法总结

    下面是一个使用`urllib2`的例子,展示了如何下载大文件并显示进度: ```python import urllib2 import os from urlparse import urlsplit def down_file(url): file_name = urlsplit(url).path.split('/')[-1] u...

    Python 标准库 中文版

    urllib模块、urlparse模块、ftplib模块、httplib模块等为实现各种网络协议提供了便利。 国际化方面,locale模块用于实现本地化,unicodedata模块提供了对Unicode字符的支持。multimedia相关模块部分介绍了多媒体...

    python标准库中文版PDF(带章节书签).pdf

    - urllib、urlparse和cookie模块用于处理URL和cookie。 - ftplib、httplib、poplib和imaplib模块提供了对标准网络协议的客户端支持。 - smtplib、telnetlib和nntplib模块提供了发送邮件和进行其他网络通信的功能。 -...

    python标准库,带标签

    urllib模块提供了统一的接口来处理多种网络资源,urlparse模块用于解析URL;ftplib模块、httplib模块等提供了各种网络协议的客户端支持。 在国际化方面,locale模块提供了语言环境相关的功能支持,允许程序支持多...

    python标准库 (1).pdf

    urllib、urlparse模块用于处理URL,其他的如ftplib、httplib等提供了特定网络服务的高级接口。 国际化方面,locale模块提供了与特定地域设置相关的服务。unicodedata模块用于处理Unicode字符。多媒体相关模块如...

    python标准库

    socket模块为网络通信提供了底层接口,select模块用于异步事件通知,asyncore和asynchat模块用于异步网络通信,urllib、urlparse、cookie、robotparser、ftplib、gopherlib、httplib、poplib、imaplib、smtplib、...

    Python标准库

    - urllib模块和urlparse模块:提供了访问URL的功能。 - ftplib模块、httplib模块等:提供了各种网络协议客户端的实现。 8. 国际化:包括: - locale模块:用于获取和设置本地化环境。 - unicodedata模块:提供...

    python标准库-书籍,原版-高清可复制

    - urllib、urlparse和robotparser模块:用于处理URL、解析URL。 - ftplib、gopherlib和httplib模块:提供对FTP、Gopher和HTTP服务器的接口。 - poplib、imaplib和smtplib模块:提供对邮件服务器的接口。 - telnetlib...

    python标准库(中文版)

    robotparser模块用于解析robots.txt文件,ftplib、gopherlib、httplib、poplib、imaplib、smtplib、telnetlib和nntplib模块则分别提供了与各种网络协议交互的功能。 国际化方面,locale模块提供了C语言库的locale...

    Python标准库中文版.pdf

    网络协议部分是Python标准库的一个大块,包含了socket、select、asyncore、asynchat等基础网络编程模块,以及urllib、urlparse、cookie、robotparser、ftplib、gopherlib、httplib、poplib、imaplib、smtplib、...

    python模块详解

    7.7. urlparse 模块 7.8. cookie 模块 7.9. robotparser 模块 7.10. ftplib 模块 7.11. gopherlib 模块 7.12. httplib 模块 7.13. poplib 模块 7.14. imaplib 模块 7.15. smtplib 模块 7.16. telnetlib ...

    《Python标准库》中文版

    popen2模块提供了执行外部命令并读取其标准输出和标准错误的功能,现已废弃,推荐使用`subprocess`模块。 **3.8 signal模块** signal模块提供了信号处理的功能,如`signal.signal()`用于设置信号处理函数。 #### ...

    python标准库3.7.3.docx

    - **7.6 urllib 模块**:提供了从URL读取数据的功能。 - **7.7 urlparse 模块**:提供了解析URL的功能。 - **7.8 cookie 模块**:用于处理HTTP Cookie。 - **7.9 robotparser 模块**:用于解析robots.txt文件。 - **...

    python标准库模块

    - **`urlparse`模块**:提供了URL解析的功能。 - **`robotparser`模块**:提供了机器人排除协议(robots.txt)的解析。 - **`ftplib`模块**:提供了FTP协议的支持。 - **`gopherlib`模块**:提供了GOPHER协议的支持...

Global site tag (gtag.js) - Google Analytics