写入开始后无法设置此属性!在 C# WebRequest 对象上

2023-12-26

我想重用 WebRequest 对象,以便保存 cookie 和会话以供以后向服务器请求。下面是我的代码。如果我第二次使用 Post 函数两次

request.ContentLength = byteArray.Length;

它会抛出异常

写入开始后无法设置此属性!

但正如你所看到的

dataStream.Close();

应该关闭写入进程!有人知道发生了什么事吗?

static WebRequest request;

public MainForm()
{
    request = WebRequest.Create("http://localhost/admin/admin.php");
}

static string Post(string url, string data) 
{
    request.Method = "POST";
    byte[] byteArray = Encoding.UTF8.GetBytes(data);
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = byteArray.Length;
    Stream dataStream = request.GetRequestStream();
    dataStream.Write(byteArray, 0, byteArray.Length);
    dataStream.Close();
    WebResponse response = request.GetResponse();
    Console.WriteLine(((HttpWebResponse)response).StatusDescription);
    dataStream = response.GetResponseStream();
    StreamReader reader = new StreamReader(dataStream);
    string responseFromServer = reader.ReadToEnd();
    Console.WriteLine(responseFromServer);
    reader.Close();
    dataStream.Close();
    response.Close();
    request.Abort();
    return responseFromServer;
}

您不能重复使用 WebRequest。拿回来的HttpWebResponse.Cookies http://msdn.microsoft.com/en-us/library/system.net.httpwebresponse.cookies(v=VS.100).aspx,构造一个新的WebRequest并填充HttpWebRequest.CookieContainer http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.cookiecontainer(v=VS.100).aspx。 (您需要在第一个请求中分配一个CookieContainer以获取返回的Cookie。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

写入开始后无法设置此属性!在 C# WebRequest 对象上 的相关文章

  • 无法使用 strptime() 获取秒数

    我收到 YYYY MM DDThh mm ss S Z hh mm 这种格式的日期时间 我正在尝试使用复制该值strptime如下所示 struct tm time 0 char pEnd strptime datetime Y m dT
  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • 为什么整数除法代码给出错误的答案? [复制]

    这个问题在这里已经有答案了 我在 Java 中有一个非常简单的划分 它是产品数量 每小时产量 但是每当我进行这种划分时 我都会遇到奇怪的错误 float res quantity standard 我已经用几个值尝试了上述除法 但总是出错
  • 如何将函子分配给函数指针?

    一般来说 我可以将函数对象分配给函数指针吗 我想做这样的事情 include
  • 将项目从 Delphi 3 移至 Delphi 2010

    我被要求重新打开一个我在 1998 99 年用 Delphi 3 编写的项目 此后该项目一直稳定运行 我在一台老化的 Windows 98 机器上有 Delphi 3 代码库 它的存在只是为了让这个项目保持活力 显然 我想在进行任何重大修改
  • 如何在 PostgreSQL 中获取数组的最后一个元素?

    The 关于数组的 PostgreSQL 文档 http www postgresql org docs 9 2 static arrays html提供了一个使用示例 1 访问数组的最后一个元素 然而虽然SELECT arr 2 3 产生
  • Notepad++ 查找文件名

    在Notepad 中 我有时需要打开存在于不同文件夹中的文件 这需要时间才能转到文件夹 并通过Light Explorer搜索文件 Notepad 有什么功能或插件可以让我直接打开文件吗 假设 如果我需要打开一个名为 notepad php
  • 检查元素是否包含#shadow-root

    是否可以查看 Shadow DOM 元素是否存在 我不太关心操纵它 甚至不是真正针对它 我理解封装的原因 但我希望能够根据 Shadow DOM 元素是否存在来设置常规 DOM 中其他元素的样式 有点像 if element id shad
  • Win32/MFC 从客户端矩形获取窗口矩形

    我知道有一个函数可以接受客户端矩形 并将其转换为窗口矩形 我只是找不到 记住它 有谁知道它是什么 它会做类似的事情 const CRect client 0 0 200 200 const CRect window ClientRectTo
  • 插件“FEDERATED”已禁用

    我尝试使用 easyPHP 启动 MySQL 响应是日志文件的警报窗口 主要错误是 通过网上研究 我发现解决方案是将联合选项添加到my ini文件 我这样做了 但它仍然不起作用 以下是日志文件的摘录 以了解更多信息 2013 05 03 1
  • 获取点击元素的ID

    div div div div 尝试此方法来获取单击的元素的 ID 并发出警报 我确信这是我所缺少的一些非常基本的东西 有人可以帮忙吗 这实际上非常基本 停止使用内联事件处理程序
  • 每次尝试以特定顺序循环 3 个线程

    我的问题是如何让一个线程运行 然后再运行一次 然后再次运行 然后它会重复本身 我有一个主文件 private static ThreadManager threadManager public static void main String
  • 通用选择不适用于位类型

    基于这个答案 https stackoverflow com a 18469483 1993545 我尝试为我的桌子创建一个选择 ALTER PROCEDURE Einrichtung Select Parameters with defa
  • 如何在 Jetpack Compose 中向图标添加阴影/边框/高度

    我想在 Jetpack compose 中为我的图标添加阴影 以便图像和文本具有 大致 相似的阴影 Text text HAS SHADOW style MaterialTheme typography body2 copy shadow
  • 打印汉字的ESC/POS命令

    打印机型号 爱普生TM T88V ESC POS命令指南 见P 115 http download delfi com SupportDL Epson Manuals TM T88IV Programming 20manual 20APG
  • 是否需要将原始类型键入枚举?

    我正在浏览NSString查看头文件 看看 Apple 如何编写枚举 并发现了这段代码 enum NSStringEncodingConversionAllowLossy 1 NSStringEncodingConversionExtern
  • Google DataFlow/Python:save_main_session 和 __main__ 中的自定义模块导入错误

    有人可以澄清使用时的预期行为吗save main session和导入的自定义模块 main 我的 DataFlow 管道导入 2 个非标准模块 一个通过requirements txt另一个通过setup file 除非我将导入移至使用它
  • 从txt中解析IP地址

    我正在尝试下载一个txt您可以找到的文件here http proxy ip list com download free proxy list txt 下载文件不是问题 testfile urllib URLopener testfile
  • 创建数组的副本并操作原始数组

    首先我要为我糟糕的英语道歉 我会尽力说得清楚 我有一个 3 维数组 只是一个 2 维数组的数组 我的目标是获取其中一个二维数组 并将其逆时针旋转 90 它看起来像这样 1 2 3 4 5 6 7 8 9 我尝试让它像这样 旋转 3 6 9
  • 发生类型错误:超出翻译容量

    当我运行我的示例时 出现以下类型错误 Translation capacity exceeded In this scope universe contains 21 atoms and relations of arity 8 canno
  • 未捕获的 RangeError:超出了最大调用堆栈大小,JavaScript

    我有个问题 open function type Some code document getElementById type addEventListener click l close type false close function
  • 写入开始后无法设置此属性!在 C# WebRequest 对象上

    我想重用 WebRequest 对象 以便保存 cookie 和会话以供以后向服务器请求 下面是我的代码 如果我第二次使用 Post 函数两次 request ContentLength byteArray Length 它会抛出异常 写入