[英]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&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.