【c# – .NET Core 2.1 HttpClient不返回预期值】教程文章相关的互联网学习教程文章

c# – HttpClient解码编码的Url?【代码】

我试图弄清楚HttpClient如何处理URL的一些不一致. 我有以下测试代码:public async Task TestHttpClient() {var baseUrl = "https://api.twitter.com/1.1/search/tweets.json";//var query = "(cafe OR boulangerie)";var query = "(café OR boulangerie)";var url = baseUrl + $"?q={Uri.EscapeDataString(query)}";var httpClient = new HttpClient();var response = await httpClient.GetAsync(url);await response.Content.Rea...

c# – 检测用于HttpClient POST或GET调用的TLS版本【代码】

我正在尝试检索TLS版本信息.我下面的代码使用HttpClient成功进行HTTP GET调用.我错过了什么?从哪里可以从HttpClient获取TLS版本信息? 我有点做与Which TLS version was negotiated?中建议相同的事情但是特定于WebRequest,这与HttpClient不同.static async Task MainAsync() {Uri baseURI = new Uri("https://jsonplaceholder.typicode.com/posts/1");string apiPath = "";using (var client = new HttpClient()){client.BaseAddr...

C#HttpClient重定向后不发送基本身份验证【代码】

我的代码正在对需要基本身份验证的Web服务URL进行HTTP GET. 我使用HttpClient和HttpClientHandler实现了这个,HttpClientHandler定义了Credentials属性. 这一切都很完美.除了我的一个用例,我正在进行经过身份验证的GET:http://somedomain.com重定向到http://www.somedomain.com. 似乎HttpClientHandler在重定向期间清除了身份验证标头.我怎么能阻止这个?无论重定向如何,我都希望发送凭据. 这是我的代码:// prepare the request v...

c# – WinRT HttpClient问题【代码】

我有一个让我发疯的问题.我没有运气就搜索了几个小时的答案.我正在开发一个WINRT / Windows Phone 8.1应用程序,我从以下代码调用RESTful Web服务:HttpClient httpClient = new HttpClient(); HttpResponseMessage response = await httpClient.GetAsync(new Uri("my_secret_uri")); string data = await response.Content.ReadAsStringAsync(); MessageDialog dialog = new MessageDialog(data); await dialog.ShowAsync();这工作...

c# – Breeze.Sharp – 需要在DataService的HttpClient构造中指定UseDefaultCredentials的能力【代码】

从0.5.4签入开始,Breeze.Sharp / DataService.cs :: InititizeHttpClient方法使用默认构造函数创建HttpClient.我的Intranet breeze web api服务有一个.Net控制台应用程序,需要通过使用Windows身份验证的服务进行身份验证.在预先微风的宇宙中,我会创建一个HttpClient对象,它在构造函数中获取以下HttpClientHandler,然后它将发送用户的凭据以及http请求:HttpClientHandler handler = new HttpClientHandler() {UseDefaultCredential...

c# – 使用依赖注入管理HttpClient的多个实例【代码】

我正在为我的Web应用程序正在与之通信的每个不同的API创建一个HttpClient实例. 我想使用依赖注入SimpleInjector将HttpClient注入业务类.例如,我有ITwitterBusiness和IInstagramBusiness,他们都在他们的构造函数中接受HttpClient. 使用依赖注入注册多个相同类型的对象时,最佳做法是什么? 我很确定问题的一部分可能是我的设计,但这里有一些想法. 我的第一个想法是在DI注册中使用委托container.Register<ITwitterBusiness>(() => new...

c# – 通过HttpClient向Paucelabs发送PUT请求没有响应【代码】

我试图发送一个PUT请求通过their API更新Saucelabs上的作业.但是,以下代码挂起,我不知道为什么.using (var client = new HttpClient()) {var sessionId = Browser.Driver.GetSessionId();var uri = new Uri($"https://saucelabs.com/rest/v1/{Configuration.SauceUserName}/jobs/{sessionId}");var uriWithCred =new UriBuilder(uri){UserName = $"{Configuration.SauceUserName}",Password = $"{Configuration.SauceAccessKey}"}....

为什么HttpClient只允许异步调用? C#【代码】

显然HttpClient只允许Asnyc调用? 当然你可以像这样调用“.Result”:public ActionResult Index() {var someImportantData = httpClient.ReadAsStringAsync().Result; // Aparently I shouldn't do this according to the article.// or var someImportantData = Task.Run(() => Client.PostAsync()).Result;Return View( new MyViewModel(someImportantData)); }使它同步,但这显然是非常危险的,应该避免,因为它会导致死锁,如...

c# – ASP .NET Core 2.1-preview2 HttpClient死锁【代码】

我在Azure Web应用程序上托管了ASP.NET Core 2.1应用程序.我通过WebSockets发送照片base64字符串,然后通过HttpClient发送到Azure Face API. 在大约150-250个请求后,HttpClient停止响应,我不能在我的应用程序的任何部分使用HttpClient类. 在我的localhost它工作正常,我从来没有遇到这个问题.public class FaceApiHttpClient {private HttpClient _client;public FaceApiHttpClient(HttpClient client){_client = client;}public asy...

c# – HttpClientFactory – 按名称获取一个命名的类型化客户端【代码】

HttpClientFactory提供以下扩展方法:public static IHttpClientBuilder AddHttpClient<TClient>(this IServiceCollection services, string name)我创建了一个类型化的HttpClient,如下所示:public class CustomClient {public CustomClient(HttpClient client,CustomAuthorizationInfoObject customAuthorizationInfoObject) {/// use custom authorization info to customize http client}public async Task<CustomModel> DoSom...

c# – 如何通过HttpClient以小写形式设置“Connection:keep-alive”标题?【代码】

我有一个任务,我需要能够以与Firefox浏览器相同的方式发送Connection:keep-alive标头(请注意,keep-alive必须全部为小写):"Connection: keep-alive"但是,我没有运气使用HttpClient实现它.无论我尝试什么,请求总是有"Connection: Keep-Alive"这是一个示例代码:var client = new HttpClient(); var request = new HttpRequestMessage() {RequestUri = new Uri("http://www.someURI.com"),Method = HttpMethod.Get, }; request.Head...

c# – .NET Core 2.1 HttpClient不返回预期值【代码】

我正在使用一个接口从这个url http://localhost:55260/api/Accounts/GetList调用api 这是它引用的控制器:[HttpGet] [Route("GetList")] [AllowAnonymous] public ActionResult<IEnumerable<string>> GetList() {return new string[] { "value1", "value2" }; }但是,而不是返回的字符串,我得到这个:这是我声明我的httpclient /接口的方式:private readonly HttpClient httpClient; public AuthenticationClient(HttpClient httpC...

c#HttpClient上传文件到spring rest服务【代码】

问题:我有一个Java spring rest服务来上传文件(大尺寸).我想使用.NET httpClient(或其他.net客户端)来调用上传服务. 问题: >似乎发送大文件的最佳选择是多部分文件,什么是互操作性?>如果不可能,最好的选择是什么? 谢谢!解决方法:这就是答案:我可以将带有多部分附件的文件从c#client发送到Java JAX Rest Webservice.try{using (var client = new HttpClient())using (var form = new MultipartFormDataContent()){using (var ...

c# – 为什么HttpClient.PostAsync缓冲区响应?【代码】

最近我在.Net 4.5.1上使用HttpClients.PostAsync时遇到了性能问题.最初服务器(Owin WebApi)在发送之前缓冲响应.这导致巨大的内存使用开销(序列化响应大小> 1Gb).在我打开服务器上的响应流后,客户端字面上停止工作.事实证明,当从服务器读取响应时,原因是客户端上的缓冲区重新分配.我检查了HttpClient实现,并在HttpClient.SendAsync方法中找到了这个有趣的部分:if (result.Content == null || completionOption == HttpCompletionOp...

c# – 创建HttpClient辅助方法的问题【代码】

我有一个功能异步的任务调用Web服务:private async Task GetResult() {using (var client = new HttpClient()){client.BaseAddress = new Uri(_baseAddress);client.DefaultRequestHeaders.Accept.Clear();client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));client.DefaultRequestHeaders.Add("Username", _username);client.DefaultRequestHeaders.Add("Action", "GET");/* et...

HTTPCLIENT - 相关标签