簡體   English   中英

C#發布到瀏覽器失敗,有什么想法嗎?

[英]C# Post to browser fails, any ideas?

這是一個快速而骯臟的應用程序,只需要短期工作即可。 我不是開發人員,所以請不要錘我。 ASP中的以下代碼可以正常工作(秘密信息已替換為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>

但是,我的C#帖子中的相同代碼不起作用:

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");

當新的瀏覽器窗口彈出時,它是默認的asppage.aspx表單,沒有數據發布到該表單。

有什么想法我做錯了嗎?

您正在向webBrowser提供表單的html,POST數據是表單字段名稱和值的序列化格式,這是您需要在Navigate方法中放入的內容。

postdata必須采用以下格式:

inputname1=value1&inputname2=value2&inputname3=value3

您還需要對字符串進行uri編碼,並將Content-Type: application/x-www-form-urlencoded為方法調用中的第四個參數。

您的POST格式完全錯誤。

請參閱規格

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM