收藏
回答

有关msgSecCheck的咨询

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug msgSecCheck 微信iOS客户端 6.7.0 2.1.1

- 当前 Bug 的表现(可附上截图)

调用msgSecCheck时,若前台直接以AJAX调用,可以正常返回,但是https://api.weixin.qq.com无法加入合法request域名,若使用curl -d的方式进行查询,一直报错{"errcode":47001,"errmsg":"data format error hint,若使用C#后台调webservice方法,则提示posts data empty之类错误,请问对于curl -d的JSON数据正确格式应为什么样子,是否可以确认什么版本的curl可以正常工作,我使用的是7.60.0,谢谢回答。




- 预期表现

应可以正常返回检查结果

- 复现路径


- 提供一个最简复现 Demo

curl -d '{"content":"123"}' https://api.weixin.qq.com/wxa/msg_sec_check?access_token=11_A_tGm9J8k-7MUCQpHMfWUxNhvL2pmlTrbniMZ0CJpmV3otveCC6cw7_eG73227UIyvwdmmuoIIYz9bt4D5zvupJyIMmtVWGkkvWIlTnxJetGb7240_w6xa8nm__………………

{"errcode":47001,"errmsg":"data format error hint: [80lvsa01939041]"}


回答关注问题邀请回答
收藏

2 个回答

  • Todother
    Todother
    2018-07-04

    已解决,建议c#后台编写post json to webservice的方法避免直接调用curl,坑很多。


    var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://url");

    httpWebRequest.ContentType = "application/json";

    httpWebRequest.Method = "POST";

    using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())){

       string json = "{\"user\":\"test\"," +                  "\"password\":\"bla\"}";    streamWriter.Write(json);    streamWriter.Flush();

       streamWriter.Close();

    }

    var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

    using (var streamReader = new StreamReader(httpResponse.GetResponseStream())){

       var result = streamReader.ReadToEnd();

    }


    2018-07-04
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-07-03

    你好,47001的问题是格式不对,请确认是否已经把unicode转为utf-8   

    (参考链接:https://www.jb51.net/article/70251.htm)


    2018-07-03
    有用
    回复 2
登录 后发表内容