草庐IT

curl、Postman、HttpClient

全部标签

c# - 使用 HTTPClient 进行双向身份验证

我正在尝试对需要双向SSL连接(客户端身份验证)的服务器进行HTTP调用。我有一个包含多个证书和密码的.p12文件。请求使用ProtocolBuffer进行序列化。我的第一个想法是将keystore添加到HttpClient使用的WebRequestHandler的ClientCertificate属性中。我还在我的计算机上将keystore添加到我信任的根证书颁发机构。当执行PostAsync时,我总是收到“无法创建ssl/tls安全通道”。显然我做错了什么,但我在这里有点不知所措。如有任何指点,我们将不胜感激。publicvoidSendRequest(){try{ServiceP

C# HttpClient 放

由于某种原因,我下面的代码曾经可以正常工作,但现在却引发了一个异常:publicstaticasyncTaskHttpPut(stringinUrl,stringinFilePath){using(varhandler=newHttpClientHandler{AllowAutoRedirect=false}){using(varclient=newHttpClient(handler)){//varcontent=newStreamContent(newFileStream(inFilePath,FileMode.Open,FileAccess.Read,FileShare.Read

C# 将 Accept header 添加到 HttpClient

这两个调用有什么区别?我的最终目标是拥有Accept:application/json通过网络发送,而不是附加到其他MIME类型的一些默认设置。HttpClientclient=newHttpClient();client.DefaultRequestHeaders.Add("Accept","application/json");对比client.DefaultRequestHeaders.Accept.Add(newMediaTypeWithQualityHeaderValue("application/json"));我的CLR是.NETCore2.0。嗅探电线没有发现区别:#j

c# - WebRequest 相当于 CURL 命令

我正在用头撞墙试图将有效的curl命令转换为c#WebRequest。我已经阅读了很多帖子,我非常确定我的代码是正确的,但它仍然无法工作。谁能看出我做错了什么?这是有效的curl命令:curl-k-ux:reallylongstring-H"Content-Type:application/json"https://api.somewhere.com/desk/external_api/v1/customers.json这是我用C#编写的代码:WebRequestwrGETURL;wrGETURL=WebRequest.Create("https://api.somewhere.com

c# - HttpClient 不保存 Cookie

我正在使用新的HttpClient来处理我的项目的网上冲浪需求;但是,尽管设置正确,但HttpClient不会将cookie保存到Cookie容器中,它始终为EMPTY。代码privateCookieContainer_cookieContainer=newCookieContainer();privateHttpClientHttpClient{get;set;}privateHttpClientHandlerHttpClientHandler{get;set;}publicInitialize(){HttpClientHandler=newHttpClientHandler{All

c# - .NET:HttpClient 使用我的接口(interface) IHttpClient 模拟它,但有一个内部对象为 NULL,它是密封的

不知道有没有人能帮忙。我已经创建了自己的IHttpClient,因此我可以使用最小起订量模拟HttpClient。工作得很好,但有一个名为DetaultRequestHeaders的内部对象,它有一个名为Authorization的属性。我在我的构造函数或我的类中设置它,它在注入(inject)的IHttpClient中接受,当然在运行时一切都按预期工作。但是使用单元测试我得到一个错误提示Objectreferencenotsettoinstance....这是因为DefaultRequestHeaders为空。现在在进一步调查之后,它似乎是HttpRequestHeaders但它是一

c# - HttpClient - 处理聚合异常

您好,我正在使用与此类似的HttpClient:publicstaticTaskAsyncStringRequest(stringurl,stringcontentType){try{varclient=newHttpClient();client.DefaultRequestHeaders.Accept.Add(newSystem.Net.Http.Headers.MediaTypeWithQualityHeaderValue(contentType));returnclient.GetStringAsync(url).ContinueWith(task=>{returntask.R

c# - HTTPClient 错误提供了无效的请求 URI

我正在尝试使用以下代码从网页中获取内容:HttpClienthttp=newHttpClient();varresponse=awaithttp.GetByteArrayAsync("www.nsfund.ir/news?p_p_id=56_INSTANCE_tVzMoLp4zfGh&_56_INSTANCE_tVzMoLp4zfGh_mode=news&_56_INSTANCE_tVzMoLp4zfGh_newsId=3135919&p_p_state=maximized");Stringsource=Encoding.GetEncoding("utf-8").GetString(r

c# - HttpClient GetStreamAsync 和 HTTP 状态代码?

我希望使用json.netperformancetipsdocumentation推荐的流,但是我无法找到如何在没有typicalawaitingtheHttpResponse的情况下获取http状态代码。.是否有一种方法可以在不读取数据的情况下先获取状态码?所以还在利用流? 最佳答案 我还没有测试以确保它的性能,但是这看起来很有希望:using(HttpClientclient=newHttpClient()){varresponse=awaitclient.GetAsync("http://httpbin.org/get",Ht

c# - 如何在没有 HttpClientFactory 的情况下将多个 HttpMessageHandler 添加到 HttpClient

我有一个使用HttpClient的控制台应用程序发出网络请求。varclient=newHttpClient();我正在尝试添加多个HttpMessageHandler到它(DelegatingHandler的自定义实现,真的)但是constructorforHttpClient只需要一个HttpMessageHandler.classLoggingHandler:DelegatingHandler{//...}classResponseContentProcessingHandler:DelegatingHandler{//...}这没关系...varclient=newHttpCl