相关疑难解决方法(0)

如何进行HTTP POST Web请求

如何使用该POST方法发出HTTP请求并发送一些数据?我可以做GET请求,但不知道如何制作POST.

.net c# post httpwebrequest httprequest

1033
推荐指数
10
解决办法
147万
查看次数

.NET中的WebClient和HTTPWebRequest类之间有什么区别?

.NET中WebClientHttpWebRequest类与.NET 之间有什么区别?他们都做了非常相似的事情.实际上,为什么不将它们合并到一个类中(太多的方法/变量等可能是一个原因,但.NET中有其他类违反了该规则).

谢谢.

.net c# webclient httpwebrequest

176
推荐指数
3
解决办法
17万
查看次数

在WebAPI客户端中每次调用创建一个新的HttpClient的开销是多少?

HttpClientWebAPI客户端的生命周期应该是多少?为多个调用
设置一个实例是否更好HttpClient

创建和处理HttpClient每个请求的开销是多少,如下面的示例所示(摘自http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from- a-net-client):

using (var client = new HttpClient())
{
    client.BaseAddress = new Uri("http://localhost:9000/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

    // New code:
    HttpResponseMessage response = await client.GetAsync("api/products/1");
    if (response.IsSuccessStatusCode)
    {
        Product product = await response.Content.ReadAsAsync<Product>();
        Console.WriteLine("{0}\t${1}\t{2}", product.Name, product.Price, product.Category);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net web-services asp.net-web-api dotnet-httpclient

152
推荐指数
4
解决办法
6万
查看次数

System.Net.WebException:无法解析远程名称:

我正在测试一个端点,我遇到了一些问题.

我只是HttpClient在一个循环中使用,每小时执行一次请求.

var httpClient = new HttpClient();
var message = httpClient.GetAsync(url).Result;
Console.WriteLine(message.StatusCode);
Run Code Online (Sandbox Code Playgroud)

有一段时间我得到这个例外:

System.Net.Http.HttpRequestException:发送请求时发生错误.---> System.Net.WebException:无法解析远程名称:'xxx'

经验是在异常之后,可以访问URL.在浏览器中,您只需刷新页面即可.

我仍然没有得到用户体验它的任何报告,所以我想知道它是否只是一个本地问题,但可以使用一些信息来帮助诊断.

有没有办法检查无法解析远程名称是由DNS问题还是由例外的Web服务器问题引起的?我可以获得更多信息,HttpCLient还是需要更高级的诊断工具?

.net c# system.net.webexception

30
推荐指数
2
解决办法
11万
查看次数

如何将WebClient与.NetCore一起使用?

有没有办法WebClient在.NET Core应用程序中使用?如果我构建应用程序,我会收到以下错误:

Severity    Code    Description Project File    Line
Error   CS0246  The type or namespace name 'WebClient' could not be found (are you missing a using directive or an assembly reference?)
Run Code Online (Sandbox Code Playgroud)

我认为WebClient不是.NET Core的一部分,但还有其他选择吗?

.net c# .net-core

29
推荐指数
1
解决办法
3万
查看次数

使用WebClient或HttpClient下载文件?

我试图从URL下载文件,我必须在WebClient和HttpClient之间进行选择.我在互联网上引用了这篇文章和其他几篇文章.无处不在,由于其非常好的异步支持和其他.Net 4.5权限,建议使用HttpClient.但我仍然不完全相信并需要更多的投入.

我使用下面的代码从互联网上下载文件:

Web客户端:

WebClient client = new WebClient();
client.DownloadFile(downloadUrl, filePath);
Run Code Online (Sandbox Code Playgroud)

HttpClient的:

using (HttpClient client = new HttpClient())
{        
    using (HttpResponseMessage response = await client.GetAsync(url))
    using (Stream streamToReadFrom = await response.Content.ReadAsStreamAsync())
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

从我的角度来看,我只能看到使用WebClient的一个缺点,那就是非异步调用,阻塞调用线程.但是,如果我不担心阻塞线程或使用client.DownloadFileAsync()异步支持,该怎么办?

另一方面,如果我使用HttpClient,是不是我将文件的每个字节加载到内存中然后将其写入本地文件?如果文件太大,内存开销不会很贵吗?如果我们使用WebClient可以避免这种情况,因为它将直接写入本地文件而不会消耗系统内存.

那么,如果性能是我的首要任务,我应该使用哪种方法进行下载?如果我的上述假设是错误的,我想澄清一下,我也愿意接受替代方法.

.net c# rest webclient httpclient

19
推荐指数
5
解决办法
4万
查看次数

如何在C#中下载zip文件?

我使用HTTP GET在浏览器中下载zip文件,例如 https://example.com/up/DBID/a/rRID/eFID/vVID(不是确切的URL)

现在,当我尝试在桌面应用程序中使用C#代码(与上面相同的GET方法)进行相同的下载时,下载的zip文件不是有效的存档文件.当我在记事本中打开此文件时,它是一些HTML页面.

我想我没有正确设置一些标题.我四处寻找例子.我发现了几个wrt上传,但没有看到任何下载.

码:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/zip";
try
{
    HttpWebResponse res = (HttpWebResponse)request.GetResponse();
    using (StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default))
    {
        StreamWriter oWriter = new StreamWriter(@"D:\Downloads\1.zip");
        oWriter.Write(sr.ReadToEnd());
        oWriter.Close();
    }
    res.Close();
}
catch (Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)

c# get http download

17
推荐指数
2
解决办法
4万
查看次数

将文件从url下载到.Net Core中的本地设备

在.Net 4.0中,我使用WebClient从URL下载文件并将其保存在本地驱动器上.但是我无法在.Net Core中实现相同的功能.

任何人都可以帮我解决这个问题吗?

c# .net-core asp.net-core

14
推荐指数
3
解决办法
1万
查看次数

如何用HttpClient替换WebClient?

我的asp.net mvc Web应用程序中有以下WebClient:

using (WebClient wc = new WebClient()) // call the Third Party API to get the account id 
{
     string url = currentURL + "resources/" + ResourceID + "/accounts?AUTHTOKEN=" + pmtoken;
     var json = await wc.DownloadStringTaskAsync(url);
 }
Run Code Online (Sandbox Code Playgroud)

那么有人可以建议我如何将它从WebClient更改为HttpClient?

.net webclient webrequest webclient-download

6
推荐指数
1
解决办法
8447
查看次数

即使AllowAutoRedirect = true,HttpClient也不会重定向

我正在尝试解析wiki空间页面,但我无法获得实际页面.我不确定它是否是一个HttpClient错误或一些丢失的配置.

这是我的代码:

HttpClientHandler handler = new HttpClientHandler();
handler.AllowAutoRedirect = true;
_httpClient = new HttpClient(handler);

HttpResponseMessage response = await _httpClient
    .GetAsync("http://medivia.wikispaces.com/Monsters");
Run Code Online (Sandbox Code Playgroud)

当我运行该代码时,我得到StatusCode 302并被发送到https://session.wikispaces.com/1/auth/auth?authToken=token.我希望HttpClient能够跟随302,因为我有AllowAutoRedirect = true.

这是我第一次遇到这个问题.它适用于Postman和RestClient,它是RestSharp的一部分.

.net c# dotnet-httpclient .net-core

5
推荐指数
1
解决办法
3054
查看次数