我想將數據發佈到網站上。我處理餅乾此代碼:將數據發佈到網站上使用cookies和瀏覽器狀態
CookieCollection cookies = new CookieCollection();
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(cookies); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
我處理視圖狀態的值與此代碼:
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(resp.GetResponseStream());
foreach (HtmlNode input in doc.DocumentNode.SelectNodes("//input"))
{
if (input.Attributes["value"] != null)
{
val = input.Attributes["value"].Value;
if (val.IndexOf("1")!=-1)
{
viewState = val;
}
}
}
,最後我與這個代碼的發佈數據:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
cookies = response.Cookies;
response.Close();
string getUrl = "url";
string postData = String.Format(""+viewstate);
HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create(getUrl);
getRequest.CookieContainer = new CookieContainer();
getRequest.CookieContainer.Add(cookies);
我的主要問題是viewState,因爲如果我不發佈viewstate,它會返回同一頁面,或者如果我在發佈數據之前解析viewstate值併發布數據,它會將我的會話超時。例如,我可以登錄Facebook,但無法將數據發佈到使用viewState的網站。我無法弄清楚這種情況。我認爲我必須在post中解析viewstate,但我知道webrequest不能被重用。你可以幫我嗎?
你可以分享鏈接,你想做什麼? – Yozer
apps.db.ripe.net/syncupdates/simple-rpsl.html – user3297904