實例講解urllib在python2和python3的使用差異

Urllib是python提供的一個用于操作url的模塊, 在python2和python3間是不兼容的,所以實際開發(fā)眾我們需要為這兩個版本分別寫一套代碼。

在python2中揽咕,有urllib庫和urllib2庫鞋邑。在python3中,urllib2合并到urllib庫中察藐。

以下是python2與python3中常用的關于urllib庫的變化:

? ?1.在python2中使用import urllib2————對應的埂息,在python3中會使用import urllib.request,urllib.error

? ?2.在python2中使用import urllib————對應的技潘,在python3中會使用import urllib.request,urllib.error,urllib.parse

? ?3.在python2中使用import urlparse————對應的,在python3中會使用import urllib.parse

? ?4.在python2中使用urllib2.urlopen————對應的千康,在python3中會使用urllib.request.urlopen

? ?5.在python2中使用urllib.urlencode————對應的享幽,在python3中會使用urllib.parse.urlencode

? ?6.在python2中使用urllib.quote————對應的,在python3中會使用urllib.request.quote

? ?7.在python2中使用cookielib.CookieJar————對應的吧秕,在python3中會使用http.CookieJar

? ?8.在python2中使用urllib2.Request————對應的,在python3中會使用urllib.request.Request


下面我們通過具體實例來說明一下, 榛子云短信(短信驗證碼平臺)的一個發(fā)送api:

python2源碼:

import urllib

import urllib2

class ZhenziSmsClient(object):

url = "http://sms.zhenzikj.com";

def __init__(self, appId, appSecret):

self.appId = appId

self.appSecret = appSecret

def send(self, number, message):

data = {

? ? ? ? 'appId': self.appId,

? ? 'appSecret': self.appSecret,

? ? 'message': message,

? ? 'number': number

}

data = urllib.urlencode(data);

req = urllib2.Request(self.url+'/sms/send.do', data);

res_data = urllib2.urlopen(req);

res = res_data.read();

return res;


send是發(fā)送短信方法迹炼,參數(shù)number是接收手機號碼砸彬,message是短信內(nèi)容

python3源碼:

import urllib.request

import urllib.parse

class ZhenziSmsClient(object):

url = "http://sms.zhenzikj.com";

def __init__(self, appId, appSecret):

self.appId = appId

self.appSecret = appSecret

def send(self, number, message):

data = {

? ? ? ? 'appId': self.appId,

? ? 'appSecret': self.appSecret,

? ? 'message': message,

? ? 'number': number

}

data = urllib.parse.urlencode(data).encode('utf-8');

req = urllib.request.Request(self.url+'/sms/send.do', data=data);

res_data = urllib.request.urlopen(req);

res = res_data.read();

res = res.decode('utf-8');

return res;


文章來源:http://smsow.zhenzikj.com/bbs/question/detail/48.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市斯入,隨后出現(xiàn)的幾起案子砂碉,更是在濱河造成了極大的恐慌,老刑警劉巖刻两,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件增蹭,死亡現(xiàn)場離奇詭異,居然都是意外死亡磅摹,警方通過查閱死者的電腦和手機滋迈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門霎奢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人饼灿,你說我怎么就攤上這事幕侠。” “怎么了碍彭?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵晤硕,是天一觀的道長。 經(jīng)常有香客問我庇忌,道長舞箍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任皆疹,我火速辦了婚禮疏橄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘墙基。我一直安慰自己软族,他們只是感情好,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布残制。 她就那樣靜靜地躺著立砸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪初茶。 梳的紋絲不亂的頭發(fā)上颗祝,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天,我揣著相機與錄音恼布,去河邊找鬼螺戳。 笑死,一個胖子當著我的面吹牛折汞,可吹牛的內(nèi)容都是我干的倔幼。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼爽待,長吁一口氣:“原來是場噩夢啊……” “哼损同!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鸟款,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤膏燃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后何什,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體组哩,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了伶贰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛛砰。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖幕袱,靈堂內(nèi)的尸體忽然破棺而出暴备,到底是詐尸還是另有隱情,我是刑警寧澤们豌,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布涯捻,位于F島的核電站,受9級特大地震影響望迎,放射性物質(zhì)發(fā)生泄漏障癌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一辩尊、第九天 我趴在偏房一處隱蔽的房頂上張望涛浙。 院中可真熱鬧,春花似錦摄欲、人聲如沸轿亮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽我注。三九已至,卻和暖如春迟隅,著一層夾襖步出監(jiān)牢的瞬間但骨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工智袭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奔缠,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓吼野,卻偏偏與公主長得像校哎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子瞳步,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1闷哆、開啟公眾號開發(fā)者模式 公眾平臺的技術(shù)文檔目的為了簡明扼要的交代接口的使用,語句難免苦澀難懂谚攒,甚至對于不同的讀者...
    good7758閱讀 1,513評論 0 1
  • Python爬蟲入門(urllib+Beautifulsoup) 本文包括:1阳准、爬蟲簡單介紹2氛堕、爬蟲架構(gòu)三大模塊3...
    廖少少閱讀 9,793評論 0 6
  • urllib and urllib2 區(qū)別 –博主提示:下面的是python2中的用法馏臭,python3需要做出相應...
    sunnyRube閱讀 1,400評論 0 1
  • 1. 網(wǎng)頁抓取 所謂網(wǎng)頁抓取,就是把URL地址中指定的網(wǎng)絡資源從網(wǎng)絡流中抓取出來。在Python中有很多庫可以用來...
    rhlp閱讀 930評論 0 0
  • urllib庫python2和python3區(qū)別 在python2中使用的import urllib2——對應的括儒,...
    聽城閱讀 416評論 0 2