您好,登錄后才能下訂單哦!
小編給大家分享一下python3發送post請求參數為空怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
post請求的時候如果不帶參數,其實作用就跟get請求一樣。我們在做接口測試的時候,發現開發就全部使用的post,get的作用就被這樣的post空參數請求給替代了。
在Python代碼請求,如下:
class HttpHelper(): def __init__(self): '''獲取driver對象,和接口ip地址信息,里面的方法大家可以忽略,根據自己的情況來設置 ''' self.dr=Common.driver run_info=Common().get_current_run_config() app_info=Common().get_app_config()[run_info['_envir']] self.ip=app_info['url'].split('/')[2] def post(self,module,interface_name,post_para={}): '''arg: module 模塊名 interface_name 接口名稱 post_para 請求參數,默認是空字典,如果不填這個參數就是post請求參數為空的情況 ''' inter_info=Common().get_interface_info()[module] url='http://'+self.ip+inter_info[interface_name]['url'] Common().logger_info("request - api - "+url) postdata = bytes(urllib.parse.urlencode(post_para), encoding='utf8') Common().logger_info("request - arg - "+str(post_para)) _jid=Common().get_jsessionid(self.dr) #獲取sessionid,這個方法是通過selenium的get_cookie方法來獲取sessionid,大家可以參考我其他的文章 header={ 'Accept':'application/json, text/plain, */*', 'Connection': 'keep-alive', 'Content-Type':'application/x-www-form-urlencoded', 'Cookie':'JSESSIONID='+_jid+'', 'Host': ''+self.ip+'', 'Origin': 'http://'+self.ip+'' } Common().logger_info("[header] - "+str(header)) try: req=urllib.request.Request(url,postdata,header) with urllib.request.urlopen(req) as resp: response=resp.read().decode('utf-8') response=json.loads(response) Common().logger_info('response - '+str(response)) if response['data']!='': Common().logger_info('http post success!!!') return response except Exception as e: Common().logger_error(str(e))
以上是“python3發送post請求參數為空怎么辦”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。