博主在這里說明一下,介面是免費的,不過需要自己注冊,如自己有介面的可以跟著教學一步步來,沒有的還請加博主微信qing_an_an,與大伙一起學習,總之,你怎么樣都不虧就是了,但是得抱有學習的心,想白嫖,這可不太好哦,
Postman大家應該都不陌生,介面測驗工具嘛,也可以跟fiddler搭配起來一起使用,非常的方便,讓我們直接進入正題,
下載地址:https://www.getpostman.com/apps
支持系統:Mac / windows / linux
安裝方法:雙擊exe檔案可以完成安裝,簡稱傻瓜式安裝,這里并是說各位,而是指安裝方式很簡單,直接下一步下一步就好,
進來之后就是這樣的了,


這里暫做簡介,后續我們也會慢慢講到其他的功能點,
工具使用
步驟:
1、復制鏈接,百度搜索天氣,這里只是建議哈,直接點進去,復制鏈接http://weathernew.pae.baidu.com/weathernew/pc?query=%E5%B9%BF%E4%B8%9C%E6%B7%B1%E5%9C%B3%E5%A4%A9%E6%B0%94&srcid=4982&city_name=%E6%B7%B1%E5%9C%B3&province_name=%E5%B9%BF%E4%B8%9C
https://tianqiapi.com/free/day這里給到兩個介面,后面這個介面需要自己注冊賬號,所以自行注冊玩吧,
2、放入URL框中,后面的一系列引數postman中會自動填入
3、點擊send發送請求即可
如果你不知道使用的什么請求,就用fiddler進行抓包,或者把鏈接復制到fiddler中用fiddler請求一次就好,我們使用get請求,放松請求后,就會得到下面的一些列內容,回應內容處也會有超多的內容,后面的關聯就是需要用到了,

這里有朋友就會問了這里的city_name里面是啥,我們解碼看看就知道了,解碼出來是一樣的,深圳,那么我們可以更改引數,把廣東深圳改成上海浦東看看,解碼地址:
UrlEncode編碼/UrlDecode解碼 - 站長工具

這里需要根據解碼來:所以比較麻煩,畢竟是網上找的:

這里用的是JSON型別進行查看的,你用其他型別查看可是看不到這的哦,
postman代碼請求
看圖,這里最值得注意的是,Pre-request-Script 請求前設定,tests請求發送后的腳本撰寫,右邊畫框的部分就是給不會寫代碼的朋友的福音了,get開頭的都是獲取值,set開頭的都是改變值,clear清除值,
pm.globals.set("variable_key", "variable_value");
pm.globals.set("query","%E4%B8%8A%E6%B5%B7%E6%B5%A6%E4%B8%9C%E5%A4%A9%E6%B0%94");
pm.globals.set("city_name","%E6%B5%A6%E4%B8%9C")
pm.globals.set("province_name","%E4%B8%8A%E6%B5%B7")
// globals全域變數, set ,variable_key:全域變數名 ,variable_value:修改后的值
//pm.environment.set("urll", "111.111.111.1");
// 修改各屬性值
點擊Pre-request-Script,選擇set global variable,就會出現我上述復制的代碼段了,如圖所示:注意了是global set不是global get,別點錯了,因為是隨便找的專案,所以發送請求的時候需要發送三個值,還是有點麻煩的,
postman手動請求
這里可別誤會啊,雖然都是要手動先搞起來,不過這一步卻比代碼的麻煩一些,但適合不會代碼的朋友,

在這里面,你也能看到一個global,不過是globals,這里面也能存放一些全域變數

初始值其實可以不填,這里就跟上述的代碼一致,將對應的value值填入,給定當前值,更新一下,就可以send了,效果一樣,就是麻煩了點而已,
如圖,這里我寫了一個get_city,對應的當前值是貴港,![]()
那么我在主界面的就需要這樣寫:注:寫法比較的不一樣,別搞錯了,需要在原來city值的地方進行應用全域變數用{{}}進行參考,
![]()
這樣我們就能查詢到貴港的天氣了,你以為這樣麻煩了嗎,其實并不,這是為后面的關聯做了一個準備,看下面,
postman介面關聯
介面關聯這里只給到思路,介面沒有免費的實戰介面,所以各位如果手上有介面的按這思路來即可,上面給到一個介面,看看各位能否運用起來,
介面關聯其實不難,找對應的關系就好,下面這里只是使用手機號碼查詢歸屬地的天氣,如何關聯呢,看回傳值中的城市,

看這里,我通過手機號碼獲取到了城市的資訊,那么我們需要提取出來用于關聯,
var tq = pm.response.json(); //pm:postman response:回應頭,回應體,回應正文,,,內容 回應結果拿到的是json格式資料
var get_city = tq.result.city;
// console.log(get_city)
//創建一個變數用于接收
pm.globals.set("get_city",get_city);

因為是回應后才能取值,所以這里就需要在tests中寫入方法,提取city所對應的值,這里的的值是根據手機號碼來改變的,接收的get_city值存在了哪呢,

就是在globals中了,每一次輸入電話號碼不一樣,這里的值就會跟著改變一次,因為代碼處一直在獲取對應的city值,
那么關聯處呢,怎么辦,當然是直接使用全域變數啦,對你沒聽錯,直接使用即可,

正確的格式,正確的變數名即可,其他的引數不變直接send就好,就能得到非常詳細的手機號碼地的天氣了,時時預報都有0哦,

代碼關聯
代碼,這里是沒有做封裝的,也只是給到的借鑒代碼,希望對各位有所幫助,
import requests
# 電話號碼端介面
url = 'http://xxxx.com/get'
d= {
'phone':111111117,
'key':'db',
'dtype':'json'
}
# 發送請求
res = requests.get(url,params=d)
print(res.json())
# 獲取對應的city值
get_city = res.json()['result']['city']
print("獲取的值是:",get_city)
url1 = 'https://tianqiapi.com/free/day'
d = {
'version':'vv',
'city':get_city,
'appid':29,
'appsecret':'u'
}
# 發送請求
res1 = requests.get(url1,params=d)
print(res1.json())
“”這里沒有提供介面,但是給到了兩個介面,還有一個免費給到聯系的介面,如若腦洞夠大,就能想到,但凡介面里面有的,你只需要再次弄個介面,兩者只要有共同點就能進行關聯,“”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299172.html
標籤:其他
上一篇:第一次翻譯自己不會用的軟體
下一篇:資料結構:空間復雜度
