0
我在尝试请求API时总是收到此错误。 有关API的一些细节:该方法是POST和参数是正确的,太(当我尝试它的邮递员,没有问题)向API发送POST请求时发生错误(无法使用此谓词类型发送正文)
这里是我的代码:
JavaScriptSerializer js = new JavaScriptSerializer();
using (WebClient client = new WebClient())
{
foreach (var ad in documents)
{
var doc = js.Serialize(ad);
var json = "{\"Message\":\"" + doc + "\"}";
var response =
client.UploadValues("apiUrl", new NameValueCollection()
{
{"json", json}
});
}
}
,我读了UploadValues是POST默认。此代码在简单的控制台应用程序中调用。任何想法,为什么我得到这个错误?
两个'WebClient'和'JavaScriptSerializer'大多过时,你应该使用'HttpClient'用'NewtonSoft.Json' –
'VAR的json =“{ \“Message \”:\“”+ doc +“\”}“;'唷。为什么用手建造它?这只是要求不可捕捉的语法错误。你已经在使用一个序列化器(虽然是过时的)和一个NameValueCollection,那么为什么在中间会随机创建一个字符串呢?无论如何,如果它在Postman中工作,但不是这样,你应该做的第一件事就是使用一个像Fiddler这样的工具来拦截这两个请求,然后发挥两个不同软件产生的实际HTTP请求之间的差异。 – ADyson
感谢您的意见,它正在使用此代码! – Jydai