如何在python脚本中发送post请求体

时间:2017-11-16 07:42:33

标签: python api python-requests

我发送了一个来自Angular-4的帖子请求,并且它完美地工作,这里我是如何完成的

<record id="view_account_invoice_line_graph" model="ir.ui.view">
<field name="name">account.invoice.line.graph</field>
<field name="model">omzettenperdag_sql_view</field>
<field name="arch" type="xml">
    <graph string="Omzetten per dag" type="pivot">
        <field name="datum" type="row"/>
        <field name="verkoopskanaal" type="col"/>
        <field name="prijs_excl" type="measure"/>
        <field name="hoeveelheid" type="measure"/>
    </graph>
</field>
</record>

现在我正试图从那个

的python脚本发送相同的请求
number;first_name;last_name
1;Baked;Beans
2;Lovely;Spam  
3;Wonderful;Spam
4;Up;Spam
5;Baked;Beans
6;Lovely;Spam
7;Wonderful;Spam
8;Down;Spam
9;Baked;Beans

但是它给了我KeyError,任何人都可以告诉post post的主体如何在python脚本中传递。

下面是错误日志

import csv
L = [0, 5, 7]

with open('names.csv',"r") as f:
    r = csv.DictReader(f, delimiter =";")
    for i, line in enumerate(r):
        if i in L:    # or (i+2) in L: from your second example
            print (line)
            print (line['first_name'], line['last_name'])

1 个答案:

答案 0 :(得分:1)

首先,使用json参数将request.post()数据用作json而不是表单帖子,就像在JS中一样:

r = requests.post('http://ns519750.ip-158-69-23.net:8100/func/demo/',  json=userdata)

但是,我找不到你的python代码和你发布的异常之间的关系。是完全相同的代码会给你一个例外吗?