2011-03-18 24 views
1

標題總結得很好。Windows Phone 7 - 如何使用HTTPWebRequest從.jsp站點[POST]/GET數據[使用Cookie]

該網站有cookies,我需要從一個文本框中發佈數據作爲該網站上的一個值,並獲得兩個變量之一。我正在閱讀一些教程和一些Windows Phone 7書籍。他們中沒有一個與我正在嘗試做的事有關。他們只處理單個整個文件或可以製作成URL的內容。我也可以這樣做,如果有人有辦法也使用cookies並將其作爲一個url發送出去[但我不知道如何構建網址以使其成爲現實的解決方案]。

+0

不確定你的意思,以及與此有關的cookie。變量通常在查詢字符串中作爲get請求或由發佈請求組成的字典發送。也許發佈一些代碼,包括服務器端將有助於 – 2011-03-18 09:05:25

+0

@Lee該網站必須能夠放置一個cookie,我敢肯定,我可以只使用一個容器,如下所述。該網站我不想重做,所以它只是一堆JavaScript文本框和一個按鈕。我只是不知道如何發送帖子/使用網站上使用的相同變量。不知道這是否有道理。 – SadLittleMan 2011-03-19 03:00:00

回答

2

你應該能夠發送cookie的使用如下代碼:從HttpWebRequest and Set-Cookie header in response not parsed (WP7)

CookieContainer container = new CookieContainer(); 
container.Add(new Uri("http://yoursite"), new Cookie("name", "value")); 
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://yoursite"); 
request.CookieContainer = container; 
request.BeginGetResponse(new AsyncCallback(GetData), request); 

代碼如果服務器要求使用Cookie(例如,用於身份驗證),那麼有沒有辦法,你將能夠使用表單變量/查詢參數。

你需要使用一個名爲Fiddler工具檢查該網站目前進行調用 - 這將包括以下的混合物:

  • Cookie變量 - 尤其是對認證
  • GET變量 - 通過內URL路徑
  • 和後期變數 - 傳遞請求的體內

如果你需要做一個完整的POST,那麼你將東東d來設置像request.Method和request.ContentType這樣的變量 - 並且你將需要Brovide一個RequestStream。有些庫可以像HAMMOCK一樣幫助 - 或者我在iron7中有一些示例代碼 - 請參閱this uploader class的DoCodePost方法 - 或者查看CodePlex和GitHub上的其他許多項目。

+0

是的,但有我需要發佈/獲取的JavaScript變量,不知道如何在Web請求函數內工作,或者我猜格式化[因爲它似乎都是基於網址的結尾]。 – SadLittleMan 2011-03-19 03:02:05

+0

已經爲你提供了一些更多的信息 - 最好的建議是使用Fiddler來理解協議是什麼 - 如果你使用的是cookie和POST,那麼它最終並不是全部基於URL的 - cookie是通過HTTP頭和POST數據發送的在請求主體中發送。希望有所幫助 – Stuart 2011-03-19 11:26:01

相關問題