Документ перемещен 201 Удалить из WebResponse - PullRequest
0 голосов
/ 26 июня 2019

Я использую .NET 4.61. Могу ли я получить ответ от https://1106 -7916.el-alt.com / wp-json / wc / v2 / products / 407 вместо https://1106 -7916.el-alt. com / wp-json / wc / v2 / products , что вызывает перенаправление? Могу ли я добавить код в BuildRequest, показанный ниже, для автоматического получения этого ответа?

Я использую WooCommerce REST API для создания продуктов. Вот моя просьба:

POST-https://1106-7916.el-alt.com/wp-json/wc/v2/products?consumer_key=X

{"attributes":[{"name":"Color","visible":true,"variation":true,"options":["Red","Blue","Green","Orange"]},{"name":"Size","visible":true,"variation":true,"options":["S","M","L"]}],"title":"FooFoo","sku":"TestCreateProductWoo1026","description":"Test","categories":[],"tags":[],"type":"variable"}

Вот ответ:

HTTP/1.1 201 Created
Cache-Control: no-cache, must-revalidate, max-age=0
Allow: GET, POST
Location: https://1106-7916.el-alt.com/wp-json/wc/v2/products/407
<head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="https://1106-7916.el-alt.com/wp-json/wc/v2/products/407">here</a></body>{"id":407,"name":"Product","slug":"product"}

Вот мой код:

    private string BuildRequest(string path, IDictionary<string, string> query, HttpMethodTypes httpMethod, object body)
    {
        string pathAndQuery = BuildParameters(path, query);

        string resultData = string.Empty;
        HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(pathAndQuery);
        myHttpWebRequest.Accept = "application/json";
        myHttpWebRequest.ContentType = "application/json";
        myHttpWebRequest.UserAgent = "JMA Web Technologies";
        myHttpWebRequest.AllowAutoRedirect = true;
        SetHeaders(myHttpWebRequest);

        if (httpMethod != HttpMethodTypes.GET)
            myHttpWebRequest.Method = httpMethod.ToString();

        SetResponseBody(body, myHttpWebRequest);

        WebResponse httpResponse = myHttpWebRequest.GetResponse();
        Stream responseStream = httpResponse.GetResponseStream();
        StreamReader reader = new StreamReader(responseStream);
        resultData = reader.ReadToEnd();
        responseStream.Close();
        httpResponse.Close();
        return resultData;
    }

Любая помощь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...