当前位置: 首页 > 知识库问答 >
问题:

带边界的C#HTTP POST

彭雨华
2023-03-14

我需要一点帮助在C#中设置一个HTTP Post。我感谢任何预先得到的帮助。

在这里使用小提琴手是我的原始帖子:

POST http://www.domain.com/tester.aspx HTTP/1.1
User-Agent: Tegan
Content-Type: multipart/form-data; boundary=myboundary
Host: www.domain.com
Content-Length: 1538
Expect: 100-continue


<some-xml>

        <customer>
                <user-id>george</user-id>
                <first-name>George</first-name>
                <last-name>Jones</last-name>
        </customer>

</some-xml>

我的要求有点棘手。他们需要一个带有边界的多部分柱。我不熟悉设置边界。如果有人能帮忙,我将不胜感激。

以下是我的要求:

POST http://www.domain.com/tester.aspx HTTP/1.0(CRLF)
User-Agent: myprogramname(CRLF)
Content-Type: multipart/form-data; boundary=myboundary(CRLF)
Content-Length: nnn(CRLF)
(CRLF)
(CRLF)
--myboundary(CRLF)
Content-Disposition: form-data; name=”xmlrequest”(CRLF)
Content-Type: text/xml(CRLF)
(CRLF)
(XML request message)(CRLF)
(CRLF)
--myboundary--(CRLF)

所以我认为这就是POST应该看起来的样子,但是我需要一些关于我的C#的帮助。

POST http://www.domain.com/tester.aspx HTTP/1.1
User-Agent: Tegan
Content-Type: multipart/form-data; boundary=myboundary
Content-Length: 1538

--myboundary
Content-Disposition: form-data; name="xmlrequest"
Content-Type: text/xml

<some-xml>

            <customer>
                    <user-id>george</user-id>
                    <first-name>George</first-name>
                    <last-name>Jones</last-name>
            </customer>

    </some-xml>

(CRLF)
--myboundary--

这是我用来创建网络请求的C#代码。

HttpWebRequest request = null;
Uri uri = new Uri("http://domain.com/tester.aspx");
request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
request.UserAgent = "NPPD";
request.ContentType = "multipart/form-data; boundary=myboundary";
request.ContentLength = postData.Length;


using (Stream writeStream = request.GetRequestStream())
{
    writeStream.Write(postData, 0, postData.Length);
}
string result = string.Empty;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    using (Stream responseStream = response.GetResponseStream())
    {
        using (StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8))
        {
            result = readStream.ReadToEnd();
        }
    }
}
return result;

共有1个答案

赫连骏
2023-03-14

我写了一篇博客,介绍了一个示例方法,可以用来发送multipart/formdata请求。在此处签出:http://www.bratched.com/en/home/dotnet/69-uploading-multiple-files-with-c.html

 类似资料:
  • 问题内容: 我有以下CSS: 添加边框半径:5px似乎没有任何作用,我认为这是因为我使用的是边框渐变,我是否有办法完全实现所需的5px边框半径? 问题答案: You cannot use with gradient. Here is another idea where you can rely on multiple background and adjust the : 如果需要透明性,可以考

  • 我们正在将图形ql-spqr和图形ql-spqr-Spring启动器用于一个新项目(使用Spring数据JPA,Hibernate等)。 我们有这样一个突变: 这种突变工作正常: 我忽略了变量,因为它们不重要。如果我将其更改为: 我收到LazyInitalizationException,我知道原因: 家庭团队由一个ID引用,并由加载。返回的团队只是一个Hibernate代理。这对于保存新的匹配很

  • 我在通过C#API中的WebClient发送POST请求时遇到问题。该职位要求如下: 我知道如何处理像用户代理等标题。,但是我对边界有一个问题。我不知道怎么把它们放在哪里...

  • 词边界 \b 是一种检查,就像 ^ 和 $ 一样。 当正则表达式引擎(实现搜索正则表达式的程序模块)遇到 \b 时,它会检查字符串中的位置是否是词边界。 有三种不同的位置可作为词边界: 在字符串开头,如果第一个字符是单词字符 \w。 在字符串中的两个字符之间,其中一个是单词字符 \w,另一个不是。 在字符串末尾,如果最后一个字符是单词字符 \w。 例如,可以在 Hello, Java! 中找到匹配

  • 问题内容: 两种方法中的哪一种符合W3C标准?它们在浏览器中的表现均符合预期吗? 边界:无; 边界:0; 问题答案: 两者均有效。 这是你的选择。 我喜欢,因为它更短。我觉得这更容易阅读。您可能会发现更清晰。我们生活在功能强大的CSS后处理器世界中,因此我建议您使用您喜欢的任何东西,然后通过“压缩机”运行它。这里没有值得战斗的圣战。 综上所述,如果您要手写所有的生产CSS,尽管评论中有些抱怨,但我