2014-09-24 90 views
4

我想發送一個信息連同url一樣的查詢字符串到網站。這正是我打電話如何使用get方法向網站查詢字符串?

Process.Start("http://domain.com?value=anything"); 

但我不想打開瀏覽器,因爲不想打斷正在使用該軟件的用戶。

我已經爲此搜索,但我發現一些HttpRequest代碼,但問題是這些程序沒有附加查詢字符串。他們只是返回我的網頁的HTML文本。

我想檢索該信息以存儲在數據庫中。請在這種情況下指導我。

回答

1

這裏是我用來執行GET:

public T Get<T>(string url, IEnumerable<KeyValuePair<string, string>> data) 
{ 
    var webApiUri = ConfigurationManager.AppSettings["WebApiUri"]; 

    var client = new HttpClient(); 

    try 
    { 
     string queryString = string.Empty; 

     if (data != null) 
     { 
      queryString = data.Distinct().Select(x => string.Format("{0}={1}", x.Key, x.Value)).ToDelimitedString("&"); 
     } 

     var response = client.GetAsync(string.Format("{0}/{1}?{2}", webApiUri, url, queryString)).Result; 
     var responseContent = response.Content.ReadAsStringAsync().Result; 
     return JsonConvert.DeserializeObject<T>(responseContent); 
    } 
    catch (Exception ex) 
    { 
     Debug.Assert(false, ex.Message); 
     throw; 
    } 
} 

T是的返回類型方法。預期響應爲JSON,但您不必擔心該部分。這就是client執行您感興趣的GET請求的方式。這僅僅是基於JSON結果的示例。

+0

查看修改。它只是一個如何執行一個GET請求到網站的例子的一些例子。我試圖幫助OP,這是我理解他要問的。 – 2014-09-24 14:46:49

+0

感謝哥們。這對我有效。 – 2014-09-25 10:34:38

+0

哦,非常好,好消息! – 2014-09-25 10:36:21

4

使用WebClient.DownloadString獲取某個特定網址的網頁,而無需使用瀏覽器:

var x = WebClient.DownloadString("http://domain.com?value=anything"); 
+0

我的問題是不同的。我想追加我的querystring在web網址,所以在我的web應用程序,信息可以retrived。 – 2014-09-24 12:23:56

+0

它在那裏,對吧?您的評論不清楚。 – 2014-09-24 12:24:27

+0

在你的評論中,片段正在檢索信息。但是我想在querystring中追加我的信息。所以在網站上我可以將這些信息存儲在數據庫中。 – 2014-09-24 12:26:05