http响应返回网页

本文关键字:网页 返回 响应 http | 更新日期: 2023-09-27 18:20:53

请原谅我对这种方法的无知,因为它对我来说有些陌生。我已经尽可能多地阅读了它,但还没能解决这个问题。

我正试图通过http帖子与供应商一起完成SSO。很简单。我以前也这样做过,但它通常会返回一个url,然后我可以将用户重定向到该url。不幸的是,对于这个供应商,他们会返回整个页面,html等等。这是典型的吗?如果是,我唯一的解决方案是将其发布到新窗口吗?

作为参考,以下是我迄今为止的代码:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(link);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] postBytes = Encoding.UTF8.GetBytes(postString);
request.ContentLength = postBytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(postBytes, 0, postBytes.Length);
requestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
var responseStream = response.GetResponseStream();
var responseReader = new StreamReader(responseStream);
var responseString = responseReader.ReadToEnd();
responseReader.Close();
responseStream.Close();
response.Close();

到目前为止一切看起来正常吗?

http响应返回网页

POST请求返回新网页是正常的。我认为重定向是不正常的情况。

你对你的应用程序很模糊,所以我不确定你想如何将返回的html显示给用户。

您可能想要查看WebClient类,它可以大大简化您的代码。

        using (var client = new WebClient())
    {
        var resultBytes = client.UploadData(new Uri("http://example.com"), "POST", data);
    }