猿问

WebClient 在调用 UploadString() 时抛出错误

我必须处理来自 API(在我的 Windows 应用程序中)的 JSON 数据,并且我正在尝试使用 WebClient.UploadString(); 发出 POST 请求;下面是我的代码,但它抛出错误,我尝试了各种选项,但无法将 JSON 复制为字符串。


string result = "";

        string url = "https://30prnabicq-dsn.algolia.net/1/indexes/*/queries?x-algolia-agent=Algolia for vanilla JavaScript (lite) 3.24.12;JS Helper 2.24.0;vue-instantsearch 1.5.0&x-algolia-application-id=30PRNABICQ&x-algolia-api-key=dcccebe87b846b64f545bf63f989c2b1";

        string json = "{\"requests\":[{\"indexName\":\"vacatures\",\"params\":\"query=&hitsPerPage=20&page=0&highlightPreTag=__ais-highlight__&highlightPostTag=__/ais-highlight__&facets=[\"category\",\"contract\",\"experienceNeeded\",\"region\"]&tagFilters=\"}]}";


        using (var client = new WebClient())

        {

            client.Headers[HttpRequestHeader.Host] = "30prnabicq-dsn.algolia.net";

            client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0"; 

            client.Headers[HttpRequestHeader.Accept] = "application/json"; 

            client.Headers[HttpRequestHeader.AcceptLanguage] = "en-US,en;q=0.5"; 

            client.Headers[HttpRequestHeader.AcceptEncoding] = "gzip, deflate, br"; 

            client.Headers[HttpRequestHeader.Referer] = "https://bouwjobs.be/";

            client.Headers[HttpRequestHeader.ContentType] = "application/json"; 

            client.Headers[HttpRequestHeader.ContentLength] = "249"; 

            client.Headers[HttpRequestHeader.Origin] = "https://bouwjobs.be"; 

            client.Headers[HttpRequestHeader.Connection] = "keep-alive";

            client.Headers[HttpRequestHeader.Cache - Control] = "max-age=0";


            result = client.UploadString(url, "POST", json);

            return result;

        }

请指导我更正我的代码。


注意 - 我在我的代码中包含了一些受限制的标头,但即使在注释掉这些标头之后它也会抛出错误。


繁星点点滴滴
浏览 435回答 1
1回答
随时随地看视频慕课网APP
我要回答