簡體   English   中英

沒有請求的Python Post json API

[英]Python Post json API without Request

我在一個沒有 pip 的系統上,並且不打算使用它。 把我必須用 python 寫到 API 的帖子(通過這篇文章,我想在 postgresdb 中添加一行)

它適用於以下代碼。 但是postgres中有兩列是jsonb。 使用此代碼,這些列帶有引號,因此 json 無法正常工作。

我怎樣才能避免這種情況?

  import urllib.parse
import urllib.request
def_post_wo_requ
        json_post= { 'store' : 'Jack', 'store_detail' : {'Tel1':'00000','Tel2':'11111'}}
        url=host+'/'+ pg_table
        data = urllib.parse.urlencode(json_post)
    
        data = data.encode('utf-8')
        print(data)

打印數據顯示:

b'store=Jack&store_detail=%7B%27Tel1%27%3A+%2700000%27%2C+%27Tel2%27%3A+%2711111%27%7D'

db中的json是這樣的:

"{'Tel1': '00000', 'Tel2': '11111'}"

您需要將數據轉換為字符串嗎? 這種(“經典”方法)不起作用嗎?

from urllib import request
import json

url = 'https://myapp.domain/endpoint'
json_data= {'store': 'Jack', 'store_detail': {'Tel1': '00000','Tel2': '11111'}}

req = request.Request(url, method="POST")
req.add_header('Content-Type', 'application/json')
data = json.dumps(data)
data = data.encode()
r = request.urlopen(req, data=data)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM