C# 完成发布并重定向到第三方站点

C# 完成发布并重定向到第三方站点,c#,forms,post,C#,Forms,Post,我已经为此挣扎了三天,我想向第三方提供商发布一篇手动帖子,然后从web用户那里获取详细信息。在这种情况下,提供商是付费的,然后根据成功与否重定向回我的网站 我在这个网站和其他网站上尝试了很多例子,包括一个手动重新创建表单的例子,我发现主要例子与stackoverflow questions 1167067上的文章类似 下面是我的代码中的结果,它将创建流,但我无法确定如何将控件发送到提供者网站,因为response.redirect会杀死流 string vystup = null; //Our

我已经为此挣扎了三天,我想向第三方提供商发布一篇手动帖子,然后从web用户那里获取详细信息。在这种情况下,提供商是付费的,然后根据成功与否重定向回我的网站

我在这个网站和其他网站上尝试了很多例子,包括一个手动重新创建表单的例子,我发现主要例子与stackoverflow questions 1167067上的文章类似

下面是我的代码中的结果,它将创建流,但我无法确定如何将控件发送到提供者网站,因为response.redirect会杀死流

string vystup = null;
//Our postvars
byte[] buffer = Encoding.ASCII.GetBytes(pPostData);
//Initialisation, we use localhost, change if appliable
HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(PF_HOST);
//Our method is post, otherwise the buffer (postvars) would be useless
WebReq.Method = "POST";
//We use form contentType, for the postvars.
WebReq.ContentType = "application/x-www-form-urlencoded";
//The length of the buffer (postvars) is used as contentlength.
WebReq.ContentLength = buffer.Length;
//We open a stream for writing the postvars
Stream PostData = WebReq.GetRequestStream();
//Now we write, and afterwards, we close. Closing is always important!
PostData.Write(buffer, 0, buffer.Length);
PostData.Close();
//Get the response handle, we have no true response yet!
HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
//Let's show some information about the response
PostResult = "=Status Code: " + WebResp.StatusCode ;
Console.WriteLine(WebResp.Server);

//Now, we read the response (the string), and output it.
Stream Answer = WebResp.GetResponseStream();
StreamReader _Answer = new StreamReader(Answer);
vystup = _Answer.ReadToEnd();

PostResult = "redirect called...";

// Need to now send the post form to PayFast
多亏了你,解决了这个问题

我根据文档创建了一个新类,并做了一些调整,比如在声明中初始化th URL,多亏了JigJar,它就像一个符咒


我以前找到过这个解决方案,后来放弃了。

将控件发送到提供商网站意味着什么?WebReq.GetResponse行已将数据发布到其他站点。浏览器未被发送到该站点,如果这是WebReq.GetResponse应该执行的操作,则浏览器不工作。这就是我想要将浏览器重定向到PF_主机的意思,如果我执行Response.RedirectPF_主机,那么它会重定向,但没有引用常量字符串PF_主机=;抱歉,没有使用代码常量字符串PF_HOST=;似乎这条线索已经死了,我想我会更新我发现的东西。我运行了调试器,查看了WebResp中的内容,发现在side ResponseUri中有一个页面说您已经到达了这个页面,因为您已经按下了后退按钮。。。所以我从action=.回到了老常态。。。我使用了相同的函数将值放在形式is%=GetValuex%中,就像我用来生成字符串pPostData一样,传递给上面的例程。所以我更困惑了