在Python3.x中,運(yùn)行程序,提示錯(cuò)誤:TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.
#coding?:?utf-8 import?urllib.request import?http.cookiejar url?=?'http://www.baidu.com' print('第一種方法') #直接請(qǐng)求 response1?=?urllib.request.urlopen(url) #返回狀態(tài)碼,如果是200,表示獲取成功 print(response1.getcode()) #讀取內(nèi)容 cont?=?response1.read() print('第二種方法') request?=?urllib.request.Request(url) #添加數(shù)據(jù) request.data?=?'a' #添加http的header request.add_header('User-Agent',?'Mozilla/5.0') #發(fā)送請(qǐng)求獲取結(jié)果 response2?=?urllib.request.urlopen(request) print(response2.getcode()) print('第三種方法') #創(chuàng)建cookie容器 cj?=?http.cookiejar.CookieJar() #創(chuàng)建一個(gè)opener opener?=?urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) #給url安裝opener urllib.request.install_opener(opener) #使用帶有cookie的urllib訪問(wèn)網(wǎng)頁(yè) response3?=?urllib.request.urlopen(url) print(response3.getcode())
請(qǐng)問(wèn)各位大神,這是哪里出問(wèn)題了
2018-02-06
去掉
request.data?=?'a'
2018-01-20
樓主解決了嗎?我也才學(xué)。代碼跟你的差不多也是遇到這個(gè)問(wèn)題了。
2017-09-18
request.data?=?'a'