草庐IT

HTTPCLIENT

全部标签

c# - 如何停止 Windows.Web.Http.HttpClient 上的凭据缓存?

我遇到一个问题,应用程序尝试使用不同的身份验证方法从同一服务器访问资源,这两种方法是:凭据(NTLM、Basic等)OAuth(承载者)设置HttpBaseProtocolFilterHttpBaseProtocolFilter设置为:禁用缓存禁用自动UI凭据请求弹出窗口代码HttpBaseProtocolFilterfilter=newHttpBaseProtocolFilter();filter.CacheControl.WriteBehavior=HttpCacheWriteBehavior.NoCache;filter.CacheControl.ReadBehavior=Htt

c# - 为 HttpClient 中的 Get 操作显式设置内容类型 header

在使用HttpClient执行GET时,有没有一种方法可以显式设置Content-Typeheader值?我意识到这违反了1.1协议(protocol),但我正在使用不符合它的API,并且我需要设置一个Content-Typeheader。我试过了,没有用...using(varhttpClient=newHttpClient()){varhttpRequestMessage=newHttpRequestMessage(HttpMethod.Get,"http://example.com");httpClient.DefaultRequestHeaders.TryAddWithoutV

c# - HttpClient header 与 HttpRequestMessage header

我们什么时候应该使用HttpRequestMessage对象中的header而不是HttpClient中的header??我们需要添加授权(总是在变化)和一些自定义header(总是在变化)问题首选方法是什么?我应该添加commonheader(所有请求都相同)到HttpClient和请求基于header到HttpRequestMessage对象??//HttpRequestMessageCodeHttpRequestMessagereqmsg=newHttpRequestMessage();reqmsg.Headers.Authorization=newAuthenticationH

c# - 有没有办法为 WebAPI 项目生成 C# HTTPClient 包装器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion在即将开展的项目中,我们希望使用ASP.NETWebAPI2向我们的网站和浏览器客户端公开服务功能。由于我们希望尽可能少的“端点”,所以我们希望所有调用,甚至是“内部”调用都使用来自WebAPI网络服务的服务器。(即不只是直接新建一个Controller实例)我正在寻找一些东西来帮助生成或搭建C#“客户端”,它包装HTTPClient并提供强类型的“代理”。类似于通过

c# - StringContent 与 ObjectContent

我正在使用System.Net.Http的HttpClient通过“POST”调用RESTAPI使用以下代码:using(HttpRequestMessagerequestMessage=newHttpRequestMessage(HttpMethod.Post,newUri(request)){}){response=awaithttpClient.PostAsync(request,objectContent);}“objectContent”目前是这个-objectContent=newObjectContent(jsonContent.GetType(),jsonContent

c# - 在 async/await 中正确处理 HttpClient 异常

我希望有人能就我在使用HttpClient进行异步/等待异常处理方面面临的问题给我一些启发。我已经编写了一些代码来说明,它正在WindowsPhone8设备和模拟器上执行:privateasyncvoidSearchButton_Click(objectsender,EventArgse){try{HttpClientclient=newHttpClient();System.Diagnostics.Debug.WriteLine("BEGINFAULTYREQUEST:");stringresponse=awaitclient.GetStringAsync("http://www.a

c# - 如何使用 System.Net.HttpClient 检索部分响应

我正在尝试使用新的HttpClient类(在.NET4.5中)从服务器检索部分响应以检查内容。我需要将检索到的数据大小限制为HTTP请求中内容的前几个字节,以限制带宽使用。我一直无法做到这一点。我尝试使用GetAsync(url,HttpCompletionOption.ResponseHeadersRead)然后使用Content.ReadAsStream()尝试只读取header,然后读取一小块响应流。我还尝试了GetStreamAsync()然后用一小块(1000字节)读取内容流。在这两种情况下,HttpClient似乎都在拉取和缓冲整个HTTP响应,而不是仅仅从流中读取请求的字

c# - 如何使用HttpClient发送GET请求体中的内容?

目前要向API接口(interface)发送参数化GET请求,我正在编写以下代码:api/master/city/filter?cityid=1&citycode='ny'但是我看到URL长度有2,083个字符的限制。为了避免这种情况,我想在GET请求的内容正文中以json格式发送参数。但是,我发现HttpClient的所有Get方法都不允许发送内容主体。对于POST,我可以看到HttpClient中有一个名为PostAsync的方法,它允许内容主体。有没有办法不在URL中为GET请求发送参数以避免URL长度限制? 最佳答案 请阅读

c# - 在 Visual Studio 2013 中使用 HttpClient 进行单元测试/集成测试 Web API

我很难尝试使用VisualStudio2013测试我的APIController。我的一个解决方案有一个WebAPI项目和一个测试项目。在我的测试项目中,我有一个单元测试:[TestMethod]publicvoidGetProduct(){HttpConfigurationconfig=newHttpConfiguration();HttpServer_server=newHttpServer(config);varclient=newHttpClient(_server);varrequest=newHttpRequestMessage{RequestUri=newUri("htt

c# - 使用 HttpClient 和 Web API 方法 [FromBody] 参数发布到 Web API 最终为空

我正在尝试使用HttpClient发布到WebAPI。当我在WebAPI的Save方法中放置断点时,[FromBody]Product为空。这意味着我将产品发布到WebAPI的方式有问题。有人可以看看下面的代码,看看我可能哪里出错了。我假设它与标题和内容类型有关。从客户端存储库到WebAPI的POST调用应将产品对象作为JSON传递:publicasyncTaskSaveProduct(Productproduct){using(varclient=newHttpClient()){client.BaseAddress=newUri("http://localhost:99999/")