4

クエリ文字列のような情報を URL と共に Web サイトに送信したい。これはまさに私が呼ぶ

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

しかし、ソフトウェアを使用しているユーザーの邪魔をしたくないので、ブラウザを開きたくありません。

私はこれをグーグルで検索しましたが、いくつかのコードを見つけましHttpRequestたが、問題は、これらのプログラムがクエリ文字列を追加していないことです。彼らは私にウェブページのhtmlテキストを返しているだけです。

その情報を取得してデータベースに保存したいと考えています。この場合、私を導いてください。

4

2 に答える 2

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 の結果に基づいた単なる例です。

于 2014-09-24T14:41:21.193 に答える