首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为System.Net.HttpWebRequest流编写不刷新的数据

为System.Net.HttpWebRequest流编写不刷新的数据
EN

Stack Overflow用户
提问于 2016-01-05 08:01:58
回答 1查看 94关注 0票数 0

我一直试图构建一个简单的HTTP,将所有JSON2.0格式的进程数据发布到PowerShell 2.0服务器上,出于必要,我需要使用该请求。不幸的是,每次我在Windows7OS上执行我的脚本时,我都会注意到-- JSON负载--被切断了(非常令人沮丧)。在请求正文中,实际有效负载在74,100字节附近非常大。请注意,此请求在Windows 2012计算机上成功地工作也可能是有用的,尽管我怀疑该特定操作系统的有效负载请求大小较小。

以下是代码:

代码语言:javascript
复制
$request = [System.Net.HttpWebRequest]::Create($endpoint);
$request.ContentType = 'application/json';
$request.Method = 'POST';
$request.Headers.Add('Authorization', "Token " + $authToken);
$seconds = 1000;
$request.Timeout=3*$seconds;

$stringContentBytes = [System.Text.Encoding]::UTF8.GetBytes($stringContent);
$request.ContentLength = $stringContentBytes;  
$requestStream = $request.GetRequestStream();
$requestStream.Write($requestContentBytes, 0, $requestContentBytes.length);
$requestStream.Close();

$response = $request.GetResponse();

在本例中,$endpoint表示目标服务器端点,$stringContent表示需要通过线路发送的JSON序列化有效负载,authToken是字符串验证令牌。

目前,我将$endpoint指向一个名为Request的服务,它非常简单地以一种漂亮、可读的格式详细说明了HTTP信息。所以,我知道我的服务器不会导致负载分裂。

此外,我已经阅读了许多关于C#和PowerShell的文章,他们都提到这应该与不关闭流有关。但是,正如您在代码中看到的那样,我非常清楚地执行了$requestStream.Close(),根据我的研究,它应该能够成功地刷新请求流。

有人知道为什么输出流不会处理所有的JSON序列化信息吗?

EN

回答 1

Stack Overflow用户

发布于 2016-01-05 18:35:19

哇,我刚刚意识到我正在使用的Request服务(实际上)限制了请求体!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34606773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档