C# http响应返回网页

C# http响应返回网页,c#,.net,http-post,C#,.net,Http Post,请原谅我对这种方法的无知,因为它对我来说有些新鲜。我已经尽可能多地阅读了,但还没能解决这个问题 我正试图通过http post与供应商一起完成SSO。很简单。我以前也这样做过,但它通常会返回一个url,然后我可以将用户重定向到该url。不幸的是,与这个供应商,他们返回整个页面,html和所有。这是典型的吗?如果是这样的话,我唯一的解决方案是将此发布到新窗口吗 以下是我迄今为止的代码供参考: HttpWebRequest request = (HttpWebRequest)WebRequest.C

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

我正试图通过http post与供应商一起完成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();

到目前为止一切正常吗?

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

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

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

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

理想情况下,我们希望在iframe(不是我的第一选择,而是请求的内容)或新窗口中显示页面,但不完全确定如何做到这一点。至于简化的代码,我最初使用的是HttpTools.PostForm(link,postString,“NONJAVA”),它似乎工作得很好,只是不确定这是否也是一个好的方法。仅供参考,这是在一个C#.net网站上。对不起,我应该先澄清一下。请不要在标题前加上“C”。这就是标签的作用,没问题。很抱歉。SSO供应商有名字吗?最后,我使用了一个隐藏的表单帖子将用户重定向到登录的站点。只是不习惯以这种方式使用表格。谢谢你的帮助。