POST / PUT使用html特殊字符和西里尔文

时间:2015-04-16 22:13:45

标签: python wordpress post encoding woocommerce

我正在尝试创建Python脚本以更新我的Woo商务商店中的产品。文档建议使用curl:

curl -X PUT https://example.com/wc-api/v2/products/546 \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "product": {
    "regular_price": "24.54"
  }
}'

由于我正在使用python,我正在使用请求:

创建产品特征:

new={}
new['id']=555
new['regular_price'] = 1000
new['variations']=[]
new['attributes']=[{'name':'varatt1','variation':True,'options':['opt1','opt2']},{'name':'varatt2','variation':True,'options':['opt11','opt22']}]
new['type']='variable'
var1={}
var1['id']='111'
var1['attributes']=[{'name':'varatt1','option':'opt1'},{'name':'varatt2','option':'opt11'}]
new['variations'].append(var1)

json'new'并通过邮件发送:

f=json.dumps({'product':new})
header = {"Content-Type": "application/json"}
a=requests.put('http://endpoint?authstuff = done, data = f, headers = header)

问题

纯粹的拉丁字符一切正常,但如果我试图使用西里尔字母的变体,结果是不可预测的 - 有时它工作正常,有时数据部分丢失。第二个问题是,如果我尝试用所有这些标签发送描述 - 它们也会完全丢失。

我知道这里的问题是编码,但我对base64的实验没有给我任何帮助。还尝试在所有西里尔字符串上使用unquote - 没有结果。相关问题:是否可以废弃所有这些api并直接编辑Woo-commerce数据库?

0 个答案:

没有答案