gpt4 book ai didi

c# - 使用 WebClient 进行 POST 查询和下载文件

转载 作者:行者123 更新时间:2023-11-30 23:21:56 25 4
gpt4 key购买 nike

我可以在单个 WebClient 请求中将数据发布到 URI 并下载文件吗?

TL;DR

我正在使用扩展 WebClient 的类来联系我们的 PHP API 并下载文件。该类将 CookieContainer 添加到 WebClient 以启用 PHP session 。

  1. WebClient.UploadValues() 向服务器发送一个 NameValueCollection 查询以验证以下请求。
  2. WebClient.DownloadFile() 下载文件。

这是 API 中唯一不是非常 RESTful 的部分,我更愿意将其移至单个无状态查询中。

我可以使用 WebClient.QueryString 在调用 DownloadFile() 之前手动设置 NameValueCollection 查询字符串,但该方法使用 GET 方法,并且 API 需要 POST 数据。

能否在调用 DownloadFile() 之前将方法设置为 POST?还有别的办法吗?

最佳答案

答案比我想象的要简单 (doh)。

using (WebClient client = new WebClient())
{
byte[] result = client.UploadValues(url, data);
File.WriteAllBytes(path, result);
}

UploadValues() 发送 POST 数据。返回的 byte[] 数组将是文件。

关于c# - 使用 WebClient 进行 POST 查询和下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39010572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com