C#发布到浏览器失败,有什么想法吗?

C#发布到浏览器失败,有什么想法吗?,c#,browser,post,C#,Browser,Post,这是一个快速而肮脏的应用程序,只需要工作一小段时间。我不是开发人员,所以请不要敲打我。asp中的以下代码工作正常(secret info替换为example.com和abc 123) 我知道以下是非常糟糕的做法,但这只是为了演示: <form method="post" action="https://example.com/asppage.aspx" id="frm_main"> <input type="hidden" name="STATE" id="STATE" val

这是一个快速而肮脏的应用程序,只需要工作一小段时间。我不是开发人员,所以请不要敲打我。asp中的以下代码工作正常(secret info替换为example.com和abc 123)

我知道以下是非常糟糕的做法,但这只是为了演示:

<form method="post" action="https://example.com/asppage.aspx" id="frm_main">
<input type="hidden" name="STATE" id="STATE" value="ABC" />
<input type="hidden" name="VALIDATION" id="VALIDATION" value="123/>
<input type="submit" name="refresh_progress" value="Check Status" id="refresh_progress" /></form>
当新的浏览器窗口弹出时,它将是默认的asppage.aspx表单,没有向其发布数据


你知道我做错了什么吗?

你的帖子格式完全错了


请参阅。

您将向Web浏览器提供表单的html,POST数据是表单字段名称和值的序列化格式,这是您需要在导航方法中输入的内容

postdata需要采用以下格式:

inputname1=value1&inputname2=value2&inputname3=value3


您还需要对字符串进行uri编码,并将
内容类型:application/x-www-form-urlencoded
作为方法调用中的第四个参数。

该示例缺少一些引号转义(在值ABC和123之后)。。是的,就在这篇文章中,我纠正了错误。代码确实有正确的转义。我纠正了一些拼写错误,那个链接解释了一些帖子信息,但我不是一个专业的开发人员,所以有点混乱。你能详细说明一下吗?谢谢你的指导,你能详细说明一下吗。我尝试了
string PostData=“QUJD”是ABC编码的Base64。这是正确的“序列化”数据吗?我根据你的建议更正了上面的帖子格式,但是,仍然没有运气。看起来我离得越来越近了,但只是错过了一些小东西。Change
STATE=ABC&;验证=123“
状态=ABC&VALIDATION=123”
,原因是
&的存在是因为字符在拆分参数的情况下具有意义。
string PostData = "STATE=ABC&amp;VALIDATION=123";
webBrowser1.Navigate("https://example.com/asppage.aspx", "_blank", Encoding.Default.GetBytes(PostData), "Content-Type: application/x-www-form-urlencoded\n\r");