问题标签 [httpcontent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
322 浏览

c# - 上传时自定义 HttpContent 失败

我有一个跨平台库(.net framework 4.6.2、.net standard 2.0 和 uwp)。我为上传目的创建了一个可进度的流内容。

在 .net 框架和 .net 标准中,一切正常,但在 UWP 中却不是。每次在 uwp 中,它都会返回500 server error (internal).

当我尝试上传时,ProgressableStreamContent一切都在 UWP 中运行良好。

这是我的课:

而且,我该如何使用它:

0 投票
3 回答
3344 浏览

c# - 无法从 POST 请求反序列化 HttpContent

我正在尝试向服务器发送POST请求。请求进入Middleware'Invoke方法。

但是Content,无论对象的类型如何,它始终为空。

发件人

服务器

服务器没有service定义,只是一个middleware响应route. (请求进入Invoke方法!)

启动

中间件

我检查了我的序列化,并且对象被序列化得很好。

尽管如此,我总是null在另一边得到一个。

PS

我也尝试过使用不middleware只是一个简单的委托,如下所示:

即使没有专门middleware的问题仍然存在。

问题不在于middleware,它的请求在客户端正确序列化,发送到服务器,并且以某种方式body显示为null.

如果它对对象失败,我会理解deserialize的,但是HttpContext.Request.Body作为字符串被接收null并且它lengthnull

0 投票
1 回答
1549 浏览

c# - await HttpContent.CopyToAsync() 导致空目标流

我正在尝试(但失败)从 Request.HttpContent 对象中获取实际的 JSON 字符串。

这就是我正在做的事情:

我的问题是,在执行此代码时,我总是得到一个空字符串——除非我在将 streamCopy 位置设置为零的行上使用断点,这让我认为代码在启动 CopyToAsync 方法后继续执行.

如果我将其更改为:

它总是能正常工作(例如,结果将包含 JSON,但这闻起来……很臭。

我在这里做错了什么?

0 投票
1 回答
2755 浏览

xmlhttprequest - 如何发送 Content-Disposition: form-data; 从 C# 调用 post api 时以正确的方式使用 name="name" 以避免 statuserror 500

0 投票
0 回答
198 浏览

c# - 方法 HttpContent.ReadAsStringAsync() 返回无效的 html 代码。怎么可能?

这是一些代码,用于从 url 请求 html 代码。

所以,问题是:为什么我从程序中获得的 html 代码和我之前打开几秒钟的浏览器中真实页面的 html 代码不同?这没有任何意义。

另外,这里有一些证明。第一个图像 - 浏览器 html 代码中的字符数 在此处输入图像描述

...在program-html代码中在此处输入图像描述

我给出了最简单的证据,使问题更容易。但如果我深入挖掘,html 代码不知从何而来。当我解析一个特定的页面时,它应该是 39 个产品,程序返回 html 代码,其中只有 6 个产品(顺便提一下,这 39 个产品不包括在浏览器中实际出现在页面上的 39 个产品中)。所以我就这么简单地问了这个问题。真的,我在一分钟前用这段代码做了一个新项目,但正如我上面写的那样,它工作不正确。要获取程序返回的代码,我可以在源变量中查找它或将其保留在文件中,然后进行比较。喜欢:

0 投票
1 回答
735 浏览

json - 使用 HttpContent.ReadAsStringAsync 等待与 .Result

我有一个自定义模型活页夹:

使用大负载时, content.ReadAsStringAsync().Result 似乎使我的 Web 请求超时。

模型绑定器接口强制同步 API ......但是通过将此代码移动到我的控制器中:

并使用 await over .Result 进行消费 - Web 请求毫无问题地通过。我很好奇为什么?

0 投票
0 回答
1353 浏览

c# - 为什么httpcontent readasstringasync会抛出取消的异常

我不确定我的代码中有多少与找出问题相关,所以我将从头开始。我使用 Injection 创建一个 azure web job 程序,它看起来像这样:

然后我的应用程序运行方法如下所示:

然后服务调用第三方 api 并按如下方式进行调用:

当我调用上面的代码时:var json = result.Content.ReadAsStringAsync().Result;我得到一个异常:

请求被中止:请求被取消。

我不知道为什么。我没有在任何地方调用取消,它也没有超时,因为这会立即发生,我设置了 30 分钟的超时时间,只是为了看看它是否有所作为。结果对象有值,它有标题和状态码 200。所以看起来 post 请求已经工作了,但是当它试图解析响应时,它抛出了那个异常。有谁知道我哪里出错了?

如果我通过提琴手查看响应,我会看到以下内容:

{"result_code":0,"result_message":"一些消息","re​​sult_output":"json"}

编辑:经过更多测试,我发现如果我从网站调用相同的代码(相同的参数)(不做任何更改),那么它就可以工作。但是,如果我从上面显示的应用程序中调用它,那么它不会。

0 投票
1 回答
335 浏览

httpcontent - c# httpcontent - 添加 Header If-Match 错误

添加新标题“If-Match”

抛出:

我可以添加任何其他标题

0 投票
1 回答
210 浏览

c# - 定位到 URL 时,localhost 路由不起作用应该返回 JSON

我的程序员伙伴们,我基本上有这个异步 Get() 方法可以成功读取 Json 数据,但是在定位到路由时 -> localhost:59185/api/encompass/data 我收到一条消息:

我非常希望它会返回我的 JSON,尤其是在调试代码时,它位于底部的“字符串 res”中

任何人都知道为什么它不返回 Json 甚至认为它坐在“res”中?

控制器:

0 投票
1 回答
540 浏览

streamreader - 在不关闭底层流的情况下安全地使用带有 HttpContent.ReadAsStreamAsync() 的 StreamReader

我有多个 Attribute 类需要访问 an HttpContent(在 an HttpActionContext's中HttpRequstMessage)中的数据,但我在决定最好的方法时遇到问题。我考虑使用 上的ReadAsStringAsync方法HttpContent,但似乎我需要访问Stream才能首先将位置设置为 0。

天真的方式似乎只是用这样的语句StreamReader将基本流包裹起来:using

这适用于执行的第一个属性,但执行的每个后续属性都会引发异常,actionContext.Request.Content.ReadAsStreamAsync()因为它已被释放。

以下是可行的替代方法,但我真的很想知道这样做的最佳方法。

1:将 a 包裹StreamReader在基本流周围并且永远不要丢弃它。

这适用于每个属性,但我担心我可能会因为不处理StreamReader.

2:将基本流复制到 aMemoryStream并用StreamReader.

这适用于每个属性,但代码量很大,可能效率低下

3:将基本流的位置设置为0,然后调用ReadAsStringAsync

这适用于每个属性,但可能效率较低

那么,有没有一种不泄漏内存的最佳方法呢?