urllib,urlib2与httplib,urllib3

urllib:编码参数离不开urllib,urllib.urlencode,

urllib.urlopen(URL,[,data])

支持POST,根据参数区分post或者get

urllib2:发送url请求,可添加http请求头字段,但是添加Cookie头字段无效

httplib: 可以发送cookie字段,

 1 def getRead(page=1):
 2
 3     url="http://cn.ae.aliexpress.com/wssellercrm/ajax_ws_seller_crm_list.htm"
 4     query_data=urllib.urlencode({‘orderBy‘:‘tradeTotalFund‘,
 5                                  ‘orderType‘:‘desc‘,
 6                                  ‘currentPage‘:‘%s‘ % page
 7                                  })
 8
 9     headers={‘Cookie‘:10              ‘acs_usuc_t=acs_rt=0552311d078047e49628c29bae7c5510; ali_apache_id=113.108.202.203.1411525480759.841347.4; xman_us_t=x_lid=cn1501352204&sign=y&x_user=o8anv3hmlnvnCLyPLqx730tq76bwCDtOxL56lzQjUvk=&need_popup=y; xman_f=J/g6ytFi9Zx/qPq2GKORwwSTfOyc11nLAZ5D2t0QcHLpWriunNxyySSUfp0TcTSc0XzOc93b/LaWDSeXmBT/S5oWGPl0c2YHSO1Ze8wNBwSHf0LQhXNA07nALRuAwChR9JqjEtGVKN2Xf/MFGK690sZtLSPXKyk5kk2uMkjn+n96YD1P6h0J3dv1bpr01gZmnIOUVbdNpCDZ+bTWIu3ZcapoLwh4SIZ6eibzNti48s6vs2UbzUmK7DMYrk8YVglLU1k2ky7sXPfn9o+SheNk/Odlvke+YRhWs4xqbUuW4rbrWQRMPjeGHEnMmjfm74SD+ihymHPTnhuq2YvyEdrxgW2nRheHtoXL; __utma=3375712.1054749006.1411533102.1411533102.1411533102.1; __utmc=3375712; __utmz=3375712.1411533102.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); aep_history=keywords%5E%0Akeywords%09%0A%0Aproduct_selloffer%5E%0Aproduct_selloffer%092044496155; xman_t=Q+lWZ5g2zA5zJ5yM2wr4KngA3sXe8EPhLC1g87NvKawi3WpwpddgJ9ElJWqoGlg4bdxj5A8E/OcAypHLVoEWaA15M+wL23Ip+2HKC3bSo/YJD0KpEEBhfUUIP6dIhLuoGaxb7sYFPB8Ft+U59SlhZxA/cUX/EhiW0ZybZP645cm/dmfuUv91sX48GNbW+5hxHTi3ZidjE3VFfA0jaS4cj2Db0MpQ+FcNxirCgAHqYZfVyx2q4dJDvUXjzeJ8Q6GYnriPRV638yWtCm+41TsAQeWU8wQkeiNzkS1PkWy2oF07VmoiBq/fN2gG27W12YwyFD0FErWTRhBg6G6+7iKkuzXqfdOhuv+zzZUpupVc4ol+DRgdLmLKuDundnKCJ8D+0oYfnV0fQI4sdyB746IrFLro9grrKP95J/RbrAdJtUYoDXEcUb7Dc2l3awf1UqGXU81CDIHxULXYD3XIIUX0qthV4NQ3b3AITuVGVNsURl4riMK0gK7o4lsYWA3N+IXhkj7iZCPffbgr7UmRAMrD1ybaJs2gY7tl3Pc6PqG0497LnzK6bp98z2vOiJ1sAjqK8WwtM4dSYxCB4TbPzMbfB+82qVAU73J6DBc34PJlgbW/If6U+ra3RNGldPsjwQH0gxEIt6iRi2zen0x9kXva2FAiwPcKvBvh6hW6f2opod8=; JSESSIONID=A003C292DF818CF827DCE0DB85DE80C0; ali_apache_track=mt=3|ms=|mid=cn1501352204; ali_apache_tracktmp=W_signed=Y; xman_us_f=x_l=1&x_locale=zh_CN&no_popup_today=n&x_user=CN|Aveen|Chow|cnfm|205829874&x_regin=CN&aep_site=glo&last_popup_time=1411525493024; intl_locale=zh_CN; aep_usuc_f=region=CN&site=glo&c_tp=USD; intl_common_forever=0MBh06hlQ3PAQrC0FHvbHnfPGdeIGm6rwfpHuYOZdNAmAhxKvGVqQA==; acs_t=qW7Yrx/HyH7fy1xJei1OVEY0QdTXxudiltRlU+AP6iYm+pgfaF/Guj2wkKf7SiZb‘
11              }
12     client=httplib.HTTPConnection(‘cn.ae.aliexpress.com‘,80)
13     req_url="?".join((‘/wssellercrm/ajax_ws_seller_crm_list.htm‘,query_data))
14     print req_url
15     client.request(‘GET‘,req_url,headers=headers)
16
17     response = client.getresponse()
18
19     print response.status
20     print response.reason
21     cont = response.read()
22 #    print cont
23     return reg.findall(cont)

urllib3:可以建立一个连接池,具备post文件功能

http=urllib3.PoolManager()
res=http.request(‘GET‘,URL,data)

http=urllib3.PoolManager()

res=http.request(‘POST‘,TOKEN_URL,req_args,encode_multipart=False)

#如果请求响应报 Bad Request / Bad content type 信息时

需要设置参数encode_multipart=False

时间: 2024-09-28 03:12:40

urllib,urlib2与httplib,urllib3的相关文章

urllib,urllib2和 urllib3的区别

在python 的网络模块中,使用频率最高的莫过于 urllib 了,因为里面包含了打开网址发送请求的方法:但是 python 中 urllib 的功能,随着互联网的发展,也在迭代进步,所以有了 urllib,urllib2和 urllib3,他们之间有啥区别呢,下面一一阐述: 1.) python 中最早内置拥有的网络请求模块就是 urllib,我们可以看一下 urllib 中的所有方法: 2.) urllib2模块中的所有方法更侧重于对于 Http 请求的服务: 3.) urllib3模块并

urllib、urllib2、urllib3区别和使用

1.) python 中最早内置拥有的网络请求模块就是 urllib,我们可以看一下 urllib 中的所有方法: 2.) urllib2模块中的所有方法更侧重于对于 Http 请求的服务: 3.) urllib3模块并非 python 内置,需要额外的安装,可以通过pip install urllib3来快速的下载和安装: 综合上面查看到的三者的所有功能,我们不难发现,urllib 侧重于 url 基本的请求构造,urllib2侧重于 http 协议请求的处理,而 urllib3是服务于升级的

python中urllib, urllib2,urllib3, httplib,httplib2, request的区别

permike原文python中urllib, urllib2,urllib3, httplib,httplib2, request的区别 若只使用python3.X, 下面可以不看了, 记住有个urllib的库就行了 python2.X 有这些库名可用: urllib, urllib2, urllib3, httplib, httplib2, requests python3.X 有这些库名可用: urllib, urllib3, httplib2, requests 两者都有的urllib3

python urllib、urllib2模块讲解

1.urllib模块 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google import urllib f = urllib.urlopen('http://www.google.com.hk/') firstLine = f.readline() #读取html页面的第一行 urlopen返回对象提供方法: -         read() , readline() ,re

Spider-爬虫介绍

零.爬虫准备工作 参考资料 <python网络数据采集>-- 图灵工业出版 <精通Python爬虫框架Scrapy> -- 人民邮电出版社 [Scrapy官方教程](http://scrapy-chs.readthedocs.io/zh_CN/0.24/into/tutorial.html) [Python3网络爬虫](http://blog.csdn.net/c406495762/article/details/72858983) 前端知识 url http协议 web前端(ht

urllib2和requests的区别

若只使用python3.X, 下面可以不看了, 记住有个urllib的库就行了 python2.X 有这些库名可用: urllib, urllib2, urllib3, httplib, httplib2, requests python3.X 有这些库名可用: urllib, urllib3, httplib2, requests 两者都有的urllib3和requests, 它们不是标准库. urllib3 提供线程安全连接池和文件post支持,与urllib及urllib2的关系不大. r

python内建模块发起HTTP(S)请求

一.Python2 httplib 简介:httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现. httplib实现http请求 import httplib host = ‘www.baidu.com’  # 注意:不能带上协议 port = 80 # 获取HTTPConnection对象 conn = httplib.HTTPConnection(host, port) # 发起请求 co

第二届TSCTF比赛writeup及心得-Web

1. 送分题 一开始真没明白为什么叫送分题,后来明白了,泪流满面..我只想说,查看源码这个事情一辈子都不能忘. 还是推荐以后都用这个,就不会漏了 2.Do you know time 网页显示一张福利图片,下载下来,随便用二进制打开图片,翻到最后面,发现了代码,种子确定了,srand就没意义了,种子是由time()函数确定的,发到服务器上总要一点时间,所以我们用time()+30的时间做种子,然后运行程序,就差不多能撞到服务器上的time()的时间. 但是一开始死活没找到入口,我还以为有什么信息

Python HTTP下载文件并显示下载进度条

下面的Python脚本中利用request下载文件并写入到文件系统,利用progressbar模块显示下载进度条. 其中利用request模块下载文件可以直接下载,不需要使用open方法,例如: import urllib import requests.packages.urllib3 requests.packages.urllib3.disable_warnings() url = "https://raw.githubusercontent.com/racaljk/hosts/maste