c# http Post 在 webresponse 中没有得到任何内容

2024-05-02

这是我的请求和响应代码。

System.IO.MemoryStream xmlStream = null;
HttpWebRequest HttpReq = (HttpWebRequest)WebRequest.Create(url); 
xmlStream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(format));

byte[] buf2 = xmlStream.ToArray();
System.Text.UTF8Encoding UTF8Enc = new System.Text.UTF8Encoding();
string s = UTF8Enc.GetString(buf2);
string sPost = "XMLData=" + System.Web.HttpUtility.UrlDecode(s);
byte[] bPostData =  UTF8Enc.GetBytes(sPost);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 
request.ContentType = "application/x-www-form-urlencoded";
HttpReq.Timeout = 30000;  
request.Method = "POST"; 
request.KeepAlive = true; 
using (Stream requestStream = request.GetRequestStream()) 
{
    requestStream.Write(bPostData, 0, bPostData.Length); 
    requestStream.Close(); 
}

string responseString = "";
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
using (StreamReader sr = new StreamReader(response.GetResponseStream())) 
{ 
    responseString = sr.ReadToEnd(); 
}

此代码的任何部分都不会崩溃。 “format”字符串是其中包含 XML 的字符串。最后当你尝试查看里面有什么时responseString,它是一个空字符串。我应该看到从 URL 发回给我的 XML。这段代码中是否缺少某些内容?


我建议简化这个混乱的代码:

using (var client = new WebClient())
{
    var values = new NameValueCollection
    {
        { "XMLData", format }
    };
    byte[] resultBuffer = client.UploadValues(url, values);
    string result = Encoding.UTF8.GetString(resultBuffer);
}

如果您想直接在 POST 正文中上传 XML,则不应使用application/x-www-form-urlencoded作为内容类型。您可能应该指定正确的内容类型,如下所示:

using (var client = new WebClient())
{
    client.Headers[HttpRequestHeader.ContentType] = "text/xml";
    var data = Encoding.UTF8.GetBytes(format);
    byte[] resultBuffer = client.UploadData(url, data);
    string result = Encoding.UTF8.GetString(resultBuffer);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c# http Post 在 webresponse 中没有得到任何内容 的相关文章

随机推荐

  • 以编程方式将 LinearLayout 高度更改为 0

    我正在调整大小LinearLayout从原来的高度到0 with ViewGroup LayoutParams params getLayoutParams params height newHeight requestLayout 一切正
  • 代码改进:此模式的更好替代方案?

    在类似的问题中 这种模式叫什么 软锁 https stackoverflow com questions 7259436 what is this pattern called soft lock 我询问下面的代码清单的模式名称 publi
  • 产生并处理软件中断

    有人可以告诉我如何在Linux下生成软件中断然后用request irq处理它吗 或者也许这是不可能的 您可以使用软中断来代替 您可以通过编辑 include linux interrupt h 来定义您的 sofirq 然后使用函数 ra
  • 有没有办法忽略 ASP.NET Core 中 HTTP 日志记录中的 swagger 响应?

    我有一个使用 net 7 创建的 asp net Web api 我启用了http 日志记录 https learn microsoft com en us aspnet core fundamentals http logging vie
  • Smart Lock 登录提示 setPhoneNumberIdentifierSupported 不起作用

    我正在尝试使用 HintRequest 获取用户电话号码 PendingIntent intent Auth CredentialsApi getHintPickerIntent googleApiClient new HintReques
  • 如何响应 vaadin 中表格行的点击

    我有以下代码 public Button getBtnSubmit com vaadin ui Button ClickListener l if null l btnSubmit addListener l return btnSubmi
  • 如何将 Android USB 连接模式更改为仅充电? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 我可以设置默认的全局 Java 套接字超时吗?

    我遇到了一个问题 应用程序中涉及 http 和 ftp 连接的各个位置在 java net SocketInputStream socketRead0 上无限期地挂起 在终止 java 进程之前一次观察几个小时 我想全局覆盖默认的套接字超时
  • “ok glass”菜单中没有连接消息

    我正在开发一个应用程序 当用户从菜单中选择选项时 它会在时间轴中添加一张实时卡 就像示例应用程序一样 我注意到 当您没有任何连接时 玻璃上的本机应用程序 例如 Google 会在 ok glass 菜单中显示 无网络连接 消息 并且无法运行
  • Javascript对象引用链接到数组中的对象?

    如果我有一个对象 var array var theobject null array push song The Song artist The Artist song Another Song artist Another Artist
  • R如何删除字符串中非常特殊的字符?

    我正在尝试删除字符串中的一些非常特殊的字符 我读过其他帖子 例如 从 R 中的字符串中删除所有特殊字符 https stackoverflow com questions 10294284 remove all special charac
  • Plotly 中所有地理范围的列表

    我正在尝试使用在地图上绘制数据plotly js 我知道您可以通过以下方式获得一个国家的地图 layout dict title geo dict scope usa 我们有可用范围的列表吗 不同的地区 某个地方 我尝试过谷歌搜索但似乎找不
  • 如何训练斯坦福 NLP 情感分析工具

    地狱大家 我正在使用斯坦福核心 NLP 包 我的目标是对推文直播进行情感分析 按原样使用情感分析工具对文本 态度 的分析非常差 许多积极因素被标记为中性 许多消极因素被评为积极 我已经在文本文件中获取了超过一百万条推文 但我不知道如何实际获
  • R:计算数据框的边距或行和列总和

    我有一个如下所示的数据框 Flag1 Flag2 Type1 Type2 Type3 1 A FIRST 2 0 0 2 A SECOND 1 9 0 3 A THIRD 3 7 0 4 A FOURTH 9 18 0 5 A FIFTH
  • QCalendarWidget - 如何突出显示日期

    我有一个QList
  • 最近用 Java 编写的 FFTW 包装器

    我正在寻找最新版本的最小 Java 包装器FFTW http www fftw org FFTW 网站上列出的包装器要么已过时 jfftw 1 2 zip ftp ftp fftw org pub fftw jfftw 1 2 zip 或包
  • sqlite 无法识别通用列表

    在 Windows 应用商店应用程序项目中 我从 Web 服务获取 JSON 如下所示 http paste2 org jfMJ2AGA http paste2 org jfMJ2AGA 我有这两门课 public class media
  • Java 中的序列化日期

    我通过 Web 服务传递一些对象 其中一些包含 java sql Date 因为 Date 没有空的构造函数 所以它不想被序列化 问题的第一部分很简单 在客户和服务之间传递日期的最佳方式是什么 第二部分有点棘手 一旦我决定如何传递日期 我显
  • 使用 Joda-Time 有什么缺点吗?

    我想说服架构经理包括乔达时间 http www joda org joda time 我们产品中的罐子 您知道使用它有什么缺点吗 我认为 Joda Time 需要不断更新 因为它包含的文件 这是一个缺点 也许我错了 您能否澄清一下这个主题
  • c# http Post 在 webresponse 中没有得到任何内容

    这是我的请求和响应代码 System IO MemoryStream xmlStream null HttpWebRequest HttpReq HttpWebRequest WebRequest Create url xmlStream