ブラウザでヒットするとxml応答を返すURL(クライアントからのライブフィードのURL)があります。これをテキストファイルに保存しました。サイズは8 MBです。
今私の問題は、サーバーのドライブ上のxmlファイルにこの応答を保存する必要があることです。そこからこれをデータベースに挿入します。リクエストは、c#.net 4.5のhttp-clientまたはrest-sharpライブラリを使用するコードを使用して行う必要があります
上記の場合にどうすればよいかわかりません。どんな体も私に何かを示唆できますか
RestSharpを使用すると、 readme にあります。
var client = new RestClient("http://example.com");
client.DownloadData(request).SaveAs(path);
HttpClient
を使用すると、もう少し複雑になります。 このブログ投稿 をご覧ください。
別のオプションは Flurl.Http (免責事項:私が著者です)です。内部でHttpClient
を使用し、流なインターフェイスと、次のような便利なヘルパーメソッドを多数提供します。
await "http://example.com".DownloadFileAsync(folderPath, "foo.xml");
NuGet で入手してください。
SaveAsは廃止されたようです。これを試すことができます
var client = new RestClient("http://example.com")
byte[] response = client.DownloadData(request);
File.WriteAllBytes(SAVE_PATH, response);
非同期バージョンが必要な場合
var request = new RestRequest("/resource/5", Method.GET);
var client = new RestClient("http://example.com")
var response = await client.ExecuteTaskAsync(request);
if (response.StatusCode != HttpStatusCode.OK)
throw new Exception($"Unable to download file");
response.RawBytes.SaveAs(path);