开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 557|回复: 4
收起左侧

[求助] post请求,json怎么提交?

[复制链接]
结帖率:95% (21/22)
发表于 2023-4-29 20:29:45 | 显示全部楼层 |阅读模式   辽宁省沈阳市
要提交的信息如下

[JavaScript] 纯文本查看 复制代码
{
    "header": {
        "accessToken": "ayJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJhY2MiLCJhdWQiOiLpk4Hlsq3ljY_kvbMiLCJ1aWQiOjMzMjk5MTM5LCJhcHBJZCI6ImM3MGEyMGM3NGRiN2ExMDgwZDhhOGFjNjIwMzM5NzE3IiwiaXNzIjoi5ZWG5Lia5byA5Y-R6ICF5Lit5b-DIiwicGxhdGZvcm1JZCI6IjQ5NjAzNDU5NjU5NTg1NjE3OTQiLCJleHAiOjQxMDI0MTYwMDAsImp0aSI6Ijc0OTU4NDQ4Mjc4NjYyOTIyNTMifQ.4a2CN0WNs9JCKJMFaEPf-Q8-g_IM1iTCb5XfYNg9fiDV2gRhneUyC8_wSqGCJFiN",
        "userName": "BDCC-超级账户",
        "action": "API-PYTHON"
    },
    "body": {
        "mccid": None
    }
} 



官网文档python例子
[Python] 纯文本查看 复制代码
import requests
import json

url = "https://api.baidu.com/json/feed/v1/MccFeedService/getUserListByMccid"
user_payload = {
    "header": {
        "accessToken": "ayJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJhY2MiLCJhdWQiOiLpk4Hlsq3ljY_kvbMiLCJ1aWQiOjMzMjk5MTM5LCJhcHBJZCI6ImM3MGEyMGM3NGRiN2ExMDgwZDhhOGFjNjIwMzM5NzE3IiwiaXNzIjoi5ZWG5Lia5byA5Y-R6ICF5Lit5b-DIiwicGxhdGZvcm1JZCI6IjQ5NjAzNDU5NjU5NTg1NjE3OTQiLCJleHAiOjQxMDI0MTYwMDAsImp0aSI6Ijc0OTU4NDQ4Mjc4NjYyOTIyNTMifQ.4a2CN0WNs9JCKJMFaEPf-Q8-g_IM1iTCb5XfYNg9fiDV2gRhneUyC8_wSqGCJFiN",
        "userName": "BDCC-超级账户",
        "action": "API-PYTHON"
    },
    "body": {
        "mccid": None
    }
} 
http_headers = {
    "Accept-Encoding": "gzip, deflate",
    "Content-Type": "application/json",
    "Accept": "application/json"
}
user_payload = json.dumps(user_payload)
response = requests.request("POST", url, data=user_payload, headers=http_headers)
print(response.text)
    



官方文档java例子
[Java] 纯文本查看 复制代码
package com.baidu.dev2.sdk;

import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

import java.io.IOException;

public class Dev2Example {
    public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
    private OkHttpClient client = new OkHttpClient();

    public static void main(String[] argcs) throws IOException {
        String json = "{\"header\":{\"accessToken\":\"ayJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJhY2MiLCJhdWQiOiLpk4Hlsq3ljY_kvbMiLCJ1aWQiOjMzMjk5MTM5LCJhcHBJZCI6ImM3MGEyMGM3NGRiN2ExMDgwZDhhOGFjNjIwMzM5NzE3IiwiaXNzIjoi5ZWG5Lia5byA5Y-R6ICF5Lit5b-DIiwicGxhdGZvcm1JZCI6IjQ5NjAzNDU5NjU5NTg1NjE3OTQiLCJleHAiOjQxMDI0MTYwMDAsImp0aSI6Ijc0OTU4NDQ4Mjc4NjYyOTIyNTMifQ.4a2CN0WNs9JCKJMFaEPf-Q8-g_IM1iTCb5XfYNg9fiDV2gRhneUyC8_wSqGCJFiN\",\"userName\":\"BDCC-超级管家\",\"action\":\"API-JAVA\"},\"body\":{\"mccid\":null}}";
        String url = "https://api.baidu.com/json/feed/v1/MccFeedService/getUserListByMccid";

        Dev2Example dev2Example = new Dev2Example();
        String result = dev2Example.post(url, json);
        System.out.println(result);
    }

    private String post(String url, String json) throws IOException {
        RequestBody body = RequestBody.create(json, JSON);
        Request request = new Request.Builder().url(url).post(body).build();
        try (Response response = client.newCall(request).execute()) {
            return response.body().string();
        }
    }
}

我试了我自己能尝试的几个办法都不行,都只能返回The Json message you provided is invalid.please check the request json,说我json无效。
我看py和java那个mccid的值不一样两个都试也不行,URL编码了里面的汉字也不行,这个怎么提交谁能给个例子
屏幕截图 2023-04-29 202311.png
结帖率:95% (21/22)

签到天数: 5 天

 楼主| 发表于 2023-4-29 20:53:50 | 显示全部楼层   辽宁省沈阳市

post请求,json怎么提交?

找到问题了,是引号多了{:7_458:}
这贴算是白开了,还是不仔细造成的。不过还是有别的问题,因为不太懂json{:7_444:}
就是mccid的键值null,我试了试,不管是不是加引号,请求都会返回正常值这个加不加的其实一样吗?
还有那个json如果自己去构造的话,应该怎么去构造,或者哪里有相关例子?
我试了试跟预想的不一样啊,多了那么多引号和斜杠,而且也找不到json置属性和值之类的例子,只有解析的例子。
屏幕截图 2023-04-29 205204.png
回复 支持 反对

使用道具 举报

结帖率:95% (21/22)

签到天数: 5 天

 楼主| 发表于 2023-4-29 21:05:45 | 显示全部楼层   辽宁省沈阳市
啊哈,我又自己试出来了,原来给json.置属性的 为对象 参数设置真就可以了啊那这帖子算是彻底废了,或者谁有更好的构造方法教教我
屏幕截图 2023-04-29 210339.png
回复 支持 反对

使用道具 举报

结帖率:95% (21/22)

签到天数: 5 天

 楼主| 发表于 2023-4-29 21:08:09 | 显示全部楼层   辽宁省沈阳市
啊,大概了解json了,为对象就像js设置对象一毛一样,所以就没多的乱七八糟的符号了,开心,今天又get到 了
回复 支持 0 反对 1

使用道具 举报

结帖率:100% (2/2)
发表于 2023-4-29 21:25:15 | 显示全部楼层   湖北省孝感市
不就是一个简单的json递交么?文档已经指定了使用json格式,就没必要把它转成文本内容递交
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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