最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談Python接口對json串的處理方法

 更新時間:2018年12月19日 10:11:43   作者:ShangriDong  
今天小編就為大家分享一篇淺談Python接口對json串的處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近學(xué)習(xí)Python接口測試,對于接口測試完全小白。大概一周的學(xué)習(xí)成果進行總結(jié)。

1.接口測試:

目前涉及到的只是對簡單單一的接口進行參數(shù)傳遞,得到返回自。

2.關(guān)于各種概念:

2.1 http請求包含post方法、get方法。通過json串或XML傳遞,但后者未做研究

2.2 GET: 瀏覽器告訴服務(wù)器,只獲取頁面信息,并發(fā)送給我。

2.3 POST:瀏覽器告訴服務(wù)器想法不一些信息到某個網(wǎng)址,服務(wù)器需確保數(shù)據(jù)被存儲且只存儲一次。

2.4 HEAD:瀏覽器告訴服務(wù)器,給我消息頭,像get那樣被接收。

2.5 Python對數(shù)據(jù)的處理模塊可以使用urllib、urllib2模塊或requests模塊

3.urllib、urllib2實例

#coding=utf_8
import urllib2,urllib
import json
import unittest,time,re

class APITest():
  """
  接口測試類
  """
  def api_test(self, method, url, getparams, postparams):
    str1 = ''

    #GET方法調(diào)用
    if method == 'GET':
      if getparams != "":
        for x in getparams:
          str1 = str1 + x + '=' + urllib2.quote(str(getparams.get(x)))
          if len(getparams) > 2:
            str1 = str1 + "&"
        url = url + "&" + str1

      result = urllib2.urlopen(url).read()

    #POST方法調(diào)用
    if method=='POST':
      if postparams != "":
        data = urllib.urlencode(postparams)
        req = urllib2.Request(data)
      response = urllib2.urlopen(req)
      result = response.read()

    #result轉(zhuǎn)為json數(shù)據(jù)
    jsdata = json.loads(result)
    return jsdata

class APIGetRes(unittest.TestCase):
  def test_call(self):
    api = APITest()
    getparams={'keyword':'測試'}
    postparams=''
    data = api.api_test('GET','http://api.zhongchou.cn/deal/list?v=1',getparams,postparams)
    print data
    if (data['errno']!=""):
      self.assertEqual(0, data['errno'])
      print"接口 deal/list-------------OK!"
    else:
      print"接口 deal/list-------------Failure!"
      self.assertEqual(0, data['errno'])

if __name__ == '__main__':
  unittest.main()

Requests實例

#coding=utf_8
import requests
import json
import unittest,time,re


class APIGetAdlis(unittest.TestCase):
  def test_call(self):
    github_url='http://api.zhongchou.cn/deal/list?v=1'
    data = json.dumps({'keyword':'測試'})
    resp = requests.post(github_url,data)
    print resp.json
    #if (data['errno']!=''):
    #  self.assertEqual(0, data['errno'])
    #  print"接口 deal/list-------------OK!"
    #else:
    #  print"接口 deal/list-------------Failure!"
    #  self.assertEqual(0, data['errno'])

粗略了解,待深入學(xué)習(xí)!

以上這篇淺談Python接口對json串的處理方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解利用上下文管理器擴展Python計時器

    詳解利用上下文管理器擴展Python計時器

    本文將和大家一起了解什么是上下文管理器?和?Python?的?with?語句,以及如何完成自定義。然后擴展?Timer?以便它也可以用作上下文管理器,感興趣的可以了解一下
    2022-06-06
  • 淺談Django+Gunicorn+Nginx部署之路

    淺談Django+Gunicorn+Nginx部署之路

    這篇文章主要介紹了Django+Gunicorn+Nginx部署之路,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Django model class Meta原理解析

    Django model class Meta原理解析

    這篇文章主要介紹了Django model class Meta原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • 在 Linux/Mac 下為Python函數(shù)添加超時時間的方法

    在 Linux/Mac 下為Python函數(shù)添加超時時間的方法

    這篇文章主要介紹了在 Linux/Mac 下為Python函數(shù)添加超時時間,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 樹莓派啟動python的實現(xiàn)方法

    樹莓派啟動python的實現(xiàn)方法

    本文主要介紹了樹莓派啟動python的實現(xiàn)方法,文中通過圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Python標(biāo)準(zhǔn)庫os常用函數(shù)和屬性詳解

    Python標(biāo)準(zhǔn)庫os常用函數(shù)和屬性詳解

    os模塊是Python標(biāo)準(zhǔn)庫中的一個用于訪問操作系統(tǒng)相關(guān)功能的模塊,os模塊提供了一種可移植的使用操作系統(tǒng)功能的方法,本文給大家介紹下?OS標(biāo)準(zhǔn)庫常用函數(shù)和屬性,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • python實現(xiàn)可將字符轉(zhuǎn)換成大寫的tcp服務(wù)器實例

    python實現(xiàn)可將字符轉(zhuǎn)換成大寫的tcp服務(wù)器實例

    這篇文章主要介紹了python實現(xiàn)可將字符轉(zhuǎn)換成大寫的tcp服務(wù)器,通過tcp服務(wù)器端實現(xiàn)針對字符的轉(zhuǎn)換與返回功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • 十條建議幫你提高Python編程效率

    十條建議幫你提高Python編程效率

    這篇文章主要為大家介紹了十條建議,可以幫你提高Python編程效率的10條,想要提升提高Python編程效率的朋友不要錯過
    2016-02-02
  • python?chinesecalendar報錯:"no?available?data?for?year?{},?only?year?between?[{},?{}]?supported"

    python?chinesecalendar報錯:"no?available?data?for?ye

    這篇文章主要介紹了python?chinesecalendar報錯:“no?available?data?for?year?{},?only?year?between?[{},?{}]?supported“的相關(guān)知識,需要的朋友可以參考下
    2023-03-03
  • Python中asyncore異步模塊的用法及實現(xiàn)httpclient的實例

    Python中asyncore異步模塊的用法及實現(xiàn)httpclient的實例

    asyncore即是一個異步的socket封裝,特別是dispatcher類中包含了很多異步調(diào)用的socket操作方法,非常犀利,下面我們就來講解Python中asyncore異步模塊的用法及實現(xiàn)httpclient的實例
    2016-06-06

最新評論

扶沟县| 揭西县| 隆德县| 高州市| 文化| 壶关县| 临清市| 健康| 赤城县| 大丰市| 高淳县| 临泉县| 昌乐县| 淮南市| 阜宁县| 慈溪市| 永吉县| 娄烦县| 班玛县| 辽宁省| 商都县| 澳门| 图们市| 丹江口市| 措美县| 衡阳市| 江都市| 台中市| 潼关县| 灌阳县| 清水河县| 罗城| 定安县| 德庆县| 晋中市| 綦江县| 保德县| 浠水县| 大田县| 绵阳市| 深泽县|