【问题标题】:Where can I add a GET method after a POST is made?发布 POST 后在哪里可以添加 GET 方法?
【发布时间】:2019-01-31 14:55:16
【问题描述】:

我有一个将登录凭据传递给 API 的 POST 方法。登录成功后,我需要执行一个 GET 方法来检索一些数据。

   var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://url");
    httpWebRequest.ContentType = "application/json";
    httpWebRequest.Method = "POST";

    using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
    {
        string json = new JavaScriptSerializer().Serialize(new
        {
            login = "myLogin",
            password = "myPassword"
        });

        streamWriter.Write(json);
    }
    //Do I implement the GET request right here? Any advice is appreciated. 

    var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
    {
        var result = streamReader.ReadToEnd();
        Response.Write(result);
    }

【问题讨论】:

  • 您应该先处理对第一个请求的响应,然后再尝试第二个请求。
  • 这是一个单独的请求。你不能在同一个httpWebRequest 上搭载东西。登录通常通过向客户端发送回一个包含会话数据的 cookie 来实现,这些会话数据需要在每个后续请求中提供,因此您可能需要检索它并在后续请求中提供它,否则 GET 仍然会失败。
  • 我不知道您要查询的 API,但您至少要等待 POST 的响应,然后再执行 GET。您可能还必须考虑登录调用可能返回的 cookie 或 sessionid(取决于 API)
  • 感谢您的帮助!我是这个 api 编程的新手。

标签: c# json api


【解决方案1】:

我应该在

之后实现 get

var 结果 = streamReader.ReadToEnd();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多