如何在restapi POST请求中发送HTML文件内容?

2024-04-19 05:58:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python脚本发送POST请求中的HTML文件

html_source = """
        <html>
        <head>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
        </head>
        <body>
        <table class="sstable table-bordered inner-table">
        <tr>
        <th>ID</th>
        <th>Title</th>
        </tr>
        <tr>
        <td>T01</td>
        <td>Title 1</td>
        </tr>
          <tr>
        <td>T02</td>
        <td>Title 2</td>
        </tr>
          <tr>
        <td>T03</td>
        <td>Title 3</td>
        </tr>
        </table>
        </body
        </html>
        """
auth_values = ('usernae','password')    
data = '{"name":"Some Widget","dashboardId":7,"type":"text","content":' '"' +html_source+ '"''}'
url = "company.com/api"
response = requests.post(url, data=data, auth=auth_values)

print ('Response Status:',response.status_code)
print ('Response Body:',response.content)

但是,请求给出了以下答复:

('Response Status:', 200)
('Response Body:', '{"data":null,"errmsg":"Invalid json body","status":1007}')

是因为我试图传递HTML字符串的方式吗?我试着逃离HTML,但仍然没有成功

有没有办法将"content":指向系统中的HTML文件


Tags: httpscomdatatitleresponsehtmljstable