使用 NoAuth 的 Web 请求

Webrequest with NoAuth

我正在创建一个 WebRequest 以连接到一个系统,但我在 Visual Studio 内被拒绝授权。如果我通过带有 NoAuth 设置的 Postman 使用相同的凭据,它会连接。如何将编程版本设置为具有 NoAuth 作为其凭据?

private HttpWebRequest CreateWebRequest()
        {
            HttpWebRequest request = null;

            if (Reference != null && Password != null)
            {
                request = (HttpWebRequest)WebRequest.Create($"{Host}/{Path}");
                request.Method = "POST";
                request.ContentType = "application/xml";
                request.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);

#if DEBUG   //Required for the localproxy
                IWebProxy webProxy = WebRequest.DefaultWebProxy;
                webProxy.Credentials = CredentialCache.DefaultNetworkCredentials;
                request.Proxy = webProxy;
#endif

                var body = $"v={Version}&ref={Reference}&password={Password}";
                var data = Encoding.UTF8.GetBytes(body);
                request.ContentLength = data.Length;

                using (var requestStream = request.GetRequestStream())
                {
                    requestStream.Write(data, 0, data.Length);
                }
            }

            return request;
        }

当你select"No Auth"时"Postman"做什么?它不会在请求中发送 "Authorization" 参数。如果您在请求中发送 "Authorization" 参数 header 只需将其删除。