找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1996|回复: 2

[求助] 【新人求教】用python接口json数据的。。data里面的数据报错...

0

主题

0

帖子

0

积分

贫民

积分
0
千雨千 发表于 2018-5-11 11:56:28 | 显示全部楼层 |阅读模式
本帖最后由 千雨千 于 2018-5-11 11:58 编辑
  1. <div class="blockcode"><blockquote>#coding=utf-8
  2. import requests
  3. import json
  4. from requests import get,post,Session
  5. import xlrd
  6. import sys
  7. import mysql


  8. def open_excel(file='file.xls'):
  9.     try:
  10.         data = xlrd.open_workbook(file)
  11.         return data
  12.     except Exception, e:
  13.         print str(e)



  14. def excel_table_byindex(file='file.xls', colnameindex=0, by_index=0):
  15.     data = open_excel(file)
  16.     table = data.sheets()[by_index]
  17.     nrows = table.nrows
  18.     colnames = table.row_values(colnameindex)
  19.     list = []
  20.     for rownum in range(1, nrows):
  21.         row = table.row_values(rownum)
  22.         if row:
  23.             app = {}

  24.             for i in range(len(colnames)):
  25.                 app[colnames[i]] = row[i]
  26.             list.append(app)
  27.     return list

  28. listdata1 = excel_table_byindex("D:\\add1.xlsx", 0)
  29. for i in range(0, len(listdata1)):
  30.     headers = {'Content-Type': "application/json",}
  31.     url1 = "http://ivt3.hschefu.com:9199/v1/app/login"
  32.     data1 = {"data": {"password": "12345678","username": "18583287560"}}
  33.     para1 = json.dumps(data1)
  34.     r=requests.post(url1,data=para1,headers= headers)
  35.     jas1 = r.text
  36.     result = jas1.encode('utf-8')
  37.     jd = json.loads(result)
  38.     token=jd["data"]["token"]
  39.     token1=str(token)
  40.     print(type(token1))
  41.     url = "http://ivt3.hschefu.com:9199/v1/app/mytask/commitPhoneAudit"
  42.     payload = {{
  43.         "imageList": [{
  44.                 "code": "BSR",
  45.                 "path": "erp/2004/BSR63cc2a4d59c1302592a5f4ea96f119e8.jpg"
  46.         }, {
  47.                 "code": "CCF",
  48.                 "path": "erp/2004/CCFde3675d1d991dcbc76b884a00aac238c.jpg"
  49.         }, {
  50.                 "code": "CCIA",
  51.                 "path": "erp/2004/CCIA460924ef753ab09d88c1e2a7c515f617.jpg"
  52.         }, {
  53.                 "code": "CFD",
  54.                 "path": "erp/2004/CFDd87d7b35fed6a43d1c16b6eb304a184b.jpg"
  55.         }, {
  56.                 "code": "COS",
  57.                 "path": "erp/2004/COS6ce50253a200931dad2e20c0fc4b8451.jpg"
  58.         }, {
  59.                 "code": "CB",
  60.                 "path": "erp/2004/CB4097b40e1a84cb265e9c10f401837e56.jpg"
  61.         }, {
  62.                 "code": "FSC",
  63.                 "path": "erp/2004/FSC86068e95f74c5a9060c3fd44bf251234.jpg"
  64.         }, {
  65.                 "code": "CR",
  66.                 "path": "erp/2004/CRfaff0f214d0b625aa386f6bd0009e1ce.jpg"
  67.         }, {
  68.                 "code": "CI",
  69.                 "path": "erp/2004/CIb0192039379d728547cec1cce2b18373.jpg"
  70.         }, {
  71.                 "code": "CFR",
  72.                 "path": "erp/2004/CFR76ebf3e7da4a4c98337c9635c0d85235.jpg"
  73.         }, {
  74.                 "code": "CBR",
  75.                 "path": "erp/2004/CBReb22389428a1fb735239bfdaf66d15ca.jpg"
  76.         }, {
  77.                 "code": "CN",
  78.                 "path": "erp/2004/CN92b522703d680f93f884be525b740548.jpg"
  79.         }, {
  80.                 "code": "ICFAC",
  81.                 "path": "erp/2004/ICFAC7a8df8f6023a2f15e3fb0c629223d378.jpg"
  82.         }, {
  83.                 "code": "OPI",
  84.                 "path": "erp/2004/OPI82bb04c2ae50288c2a39ff12a8d0ab35.jpg"
  85.         }, {
  86.                 "code": "RCMVB",
  87.                 "path": "erp/2004/RCMVB4683a067eef43b86a8e1b90701afd05a.jpg"
  88.         }, {
  89.                 "code": "MVDLB",
  90.                 "path": "erp/2004/MVDLB6edb6bcae22fd8b3a9a5c75f85b656c5.jpg"
  91.         }, {
  92.                 "code": "LPPB",
  93.                 "path": "erp/2004/LPPB063608433e8eb36c1c9fb7c5446f8548.jpg"
  94.         }, {
  95.                 "code": "PMC",
  96.                 "path": "erp/2004/PMC177916accb87d6197fa08c24c9a06620.jpg"
  97.         }, {
  98.                 "code": "ECI",
  99.                 "path": "erp/2004/ECIe4b64c9f6f70016474710e201dd2fe9f.jpg"
  100.         }],
  101.         "os": "android",
  102.         "phone": "18583287560",
  103.         "reqId": 121,
  104.         "step": 2,
  105.         "taskId": 122,
  106.     "token": token1

  107. }
  108.     }
  109.     data=json.dumps(payload)
  110.     response = requests.request("POST", url, data=data, headers=headers)
  111.     # r = requests.post(url,data=payload,headers= headers)
  112.     print(response.text)
  113. # print(r.text)
复制代码



payload的数据在postman是这可以正常调通接口的

运行报错

运行报错
回复

使用道具 举报

0

主题

20

帖子

20

积分

贫民

积分
20
sss123 发表于 2018-5-13 09:53:33 | 显示全部楼层
哥  别干坏事啊  我看你在写爬虫呢 你想抓包?,, 这问题显示  not hashable  很明显啊
回复 支持 反对

使用道具 举报

0

主题

4

帖子

4

积分

贫民

积分
4
lethons 发表于 2018-5-19 20:20:04 | 显示全部楼层
requests的payload接收的是字典格式,不需要转为json的。直接将字典传入就可以了。具体可以看线requests的文档里面有个例子。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表