python學習筆記-day8-3-【python 網路請求及requests模組】

來源:互聯網
上載者:User

標籤:load   add   sql   資料   encoding   河南省   from   login   lib   

python的網路請求,主要是進行Http協議類介面調用,進行介面測試等。

 

一、urllib庫,python內嵌的庫,不太好用。

from urllib import request,parseimport json# url = ‘http://baidu.com‘# req = request.urlopen(url) #開啟一個url# content = req.read().decode()# fw = open(‘nnzhp.html‘, ‘w‘, encoding=‘utf-8‘)# fw.write(content)# #網路爬蟲,從其他的網站上,擷取一些有用的內容#get請求# url = ‘http://www.baidu.com/‘# req = request.urlopen(url)# content = req.read().decode() #擷取返回結果# res_dic = json.loads(content) #返回的結果轉為字典# if res_dic.get(‘error_code‘) == 0:#     print(‘測試通過.‘)# else:#     print(‘測試失敗‘,res_dic)#post請求url = ‘http://xxxxxx/api/user/login‘data = {    ‘usernmae‘:‘admin‘,    ‘passwd‘: ‘aA123456‘}#請求資料data = parse.urlencode(data)# print(parse.urlencode(data))#urlencode,自動給你拼好參數req = request.urlopen(url, data.encode()) #發送Post請求print(req.read().decode())

 

二、requests模組,好用的模組

import requestsimport random#1、發get請求# url = ‘http://xxxxxx/api/user/stu_info‘# data = {‘stu_name‘:‘xxxx‘} #請求資料# req = requests.get(url, params=data)# print(req.json())# print(req.text)# print(type(req.json())) #dict# print(type(req.text)) #str#返回的都是什麼#返回的類型是什麼#中文的好使嗎#2、發post請求url = ‘http://xxxxxxx/api/user/login‘data = {‘username‘:‘xxxxx‘,‘passwd‘: ‘xxxxx‘}#請求資料req = requests.post(url, data)print(req.json())#3、入參是json類型的# url = ‘http://xxxxxx/api/user/add_stu‘# phone = random.randint(10000000000,99999999999)# data =  {#     "name":"xxxx",#     "grade":"天蠍座",#     "phone":phone,#     "sex":"女",#     "age":28,#     "addr":"河南省濟源市北海大道32號"#   }# req = requests.post(url, json=data)# print(req.json())#4、入參是json類型的# url = ‘http://xxxxxxx/api/user/gold_add‘# data = {‘stu_id‘:468,‘gold‘:120000}# req = requests.post(url, data, cookies={‘niuhanyang‘:‘337ca4cc825302b3a8791ac7f9dc4bc6‘})# print(req.json())#5、添加header# url = ‘http://xxxxxxx/api/user/all_stu‘# header = {‘Referer‘: ‘http://api/xxxxxxx/‘}# req = requests.get(url, headers=header)# print(req.json())#{‘error_code‘: 4, ‘msg‘: ‘請求來路不正確‘}#6、上傳檔案# url = ‘http://xxxxxxxx/api/file/file_upload‘# # data = {‘file‘:open(‘筆記-day08.txt‘,encoding=‘utf-8‘)}   #上傳檔案# data = {‘file‘:open(‘12222.jpg‘, ‘rb‘)}   #上傳圖片# req = requests.post(url, files=data)# print(req.json())#7、下載圖片#http://xxxxx/wp-content/uploads/2018/01/soup.jpg# url = ‘http://wwwxxxxx/wp-content/uploads/2018/01/soup.jpg‘# req = requests.get(url)# print(req.content)#返回的二進位的東西## fw = open(‘s.jpg‘, ‘wb‘)# fw.write(req.content)# url = ‘http://wwwxxxxxx/‘# req = requests.get(url)# print(req.content)#返回的二進位的東西## fw = open(‘pymysql.html‘, ‘wb‘)# fw.write(req.content)#http://up.mcyt.net/?down/46779.mp3url = ‘http://up.mcyt.net/?down/46779.mp3‘req = requests.get(url)print(req.content)#返回的二進位的東西fw = open(‘aaaa,.mp3‘, ‘wb‘)fw.write(req.content)

 

python學習筆記-day8-3-【python 網路請求及requests模組】

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.