由于错误提示我必须提供请求正文,因此无法发布到商家 API

G_Man

我花了一整天的时间试图弄清楚我昨天做错了什么。来这里尝试寻求帮助。当我运行实际的 GetResponse 时会触发跟随错误。我是 API 的新手,所以我确定我错过了一些真正简单的东西。

You must provide a request body if you set ContentLength>0 or SendChunked==true. Do this by calling [Begin]GetRequestStream before [Begin]GetResponse.

这是我用来尝试将 JSON 发送到 API 的代码。付款对象只有输入的表单值和在商家端使用正确帐户的凭据。

            var json = JsonConvert.SerializeObject(payment);
            var apiUrl = new Uri($"Removed endpoint URL");

            var postBytes = Encoding.UTF8.GetBytes(json);
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            var httpWebRequest = (HttpWebRequest)WebRequest.Create(apiUrl);
            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Accept = "application/json";
            httpWebRequest.Method = "POST";
            httpWebRequest.ContentLength = postBytes.Length;
            httpWebRequest.AllowWriteStreamBuffering = false;

            //This is where the error triggers and drops to the catch.
            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
            }

我提前感谢任何帮助,我可能完全错了,这是我试图解决通话问题的一系列事情。

教育基金会

除非我错过了,否则您实际上HttpWebRequest并没有在发送之前将有效负载数据写入正文。

using (Stream _reqStrm = httpWebRequest.GetRequestStream())
{
  _reqStrm.Write(postBytes, 0, postBytes.Length);
}

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

不相关,但如果可以,请考虑HttpClient

嗯..

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

错误的AJAX请求发布到Spring API

配置对Google我的商家API的请求,以避免发生未经身份验证的错误

由于无法通过TensorFlow服务API提供服务,因此已从导出中排除

“由于路径/价格的集成格式错误,因此无法解析API定义。(服务:AmazonApiGateway;状态代码:400;

由于使用https url的设备中的日期时间错误,因此无法在Android中加载api响应

我尝试请求发布但错误无效的 URI " / " Rest API

卷曲到python请求错误:“未提供api密钥”

AWS API Gateway部署的API无法解析请求正文

由于CORS无法验证到BigCommerce API

Web API错误-此请求已被阻止;内容必须通过HTTPS提供

Python API发布请求URL返回错误

通过Combine无法发布API请求

调用令牌的Microsoft Graph API会出现错误“ AADSTS900144:请求正文必须包含以下参数:'grant_type'

尝试发布API请求

无法将日期时间发布到 API

(400)尝试将简单值发布到API时出现错误请求

Spotify:发布到api /令牌提出了错误的请求,但可以在curl中工作

尝试将某些信息发布到DRF API,但使用Python请求遇到403禁止错误

发布到API时第二次出现400(错误请求)

在正文中将int / string(简单类型)发布到asp.net核心Web API 2.1无法正常工作

Stripe API无效请求:必须提供来源或客户

无法从 python 中的 JSON WEB API 请求中获取正文

无法从API检索请求正文-未定义

在“错误”中获取和发布请求结果:在我的 Spring Boot api 上“未找到”

无法发布 /api/sentiment

我正在使用python调用Rest API Curl命令,但是发布请求无法正常工作

RestSharp PATCH API 调用更新 Azure Devops 工作项抛出错误请求 - “您必须在请求正文中传递有效的补丁文档。”

由于获取 api 错误,无法从 JSON 文件中获取我的数据

在Python中将数据发布到api时无法将str转换为字节错误