gpt4 book ai didi

C# 控制台应用程序 httpWebRequest

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:07 24 4
gpt4 key购买 nike

我正在尝试创建一个非常简单的 C# 控制台应用程序来将一些数据发布到 Web API。但是无论我做什么,我都会收到如下响应错误:

responseText "{\"info\":{\"status\":\"failed\",\"error\":{\"code\":1000,\"message\":\"Invalid argument from request\"}}}" string

API http://www.detrack.com/api-documentation/正在寻找类似的帖子

https://app.detrack.com/api/v1/deliveries/view/all.json?key=dab13cc0094620102d89f06c0e464b7de0782bb979258d3a&json= {“日期”:“2014-08-29”

我知道在 chrome 高级休息应用程序扩展中使用它会返回有效结果。但是当我通过这个控制台代码尝试相同的操作时。我收到一个错误!

这是我的控制台应用程序中的代码。

using System;
using System.Net;
using System.IO;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://app.detrack.com/api/v1/deliveries/view/all.json?key=dab13cc0094620102d89f06c0e464b7de0782bb979258d3a&");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";

using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "json={\"date\":\"2014-08-28\"}";
Console.WriteLine(json);
streamWriter.Write(json);
}

var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
Console.WriteLine(responseText);
Console.ReadKey();

}


}
}
}

任何帮助/指导将不胜感激

布兰登

最佳答案

所以我在看这个:

string json = "json={\"date\":\"2014-08-28\"}";

根据 detrack 的简短描述,不是您想要的。他们期待有效的 json,但事实并非如此。以下是您应该考虑的有效 json:

string json = "{\"date\":\"2014-08-28\"}";

请注意,我不知道您是否转义了引号。我会以不同的方式序列化它;强类型类或匿名类。 Anon 看起来像这样:

string json = JsonConvert.DeserializeObject(new { date = "2014-08-28" });

抛开任何关于时间、时区、UTC 等的顾虑,这将正确序列化您的结构。这是来自 linqpad 的一个粗糙的程序:

void Main()
{
var json = Newtonsoft.Json.JsonConvert.SerializeObject(new { date = "2014-08-28"});
Console.WriteLine(json);
}

>>> {"date":"2014-08-28"}

关于C# 控制台应用程序 httpWebRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25755002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com