5

我想从 C# 发出 HTTP Post 请求。此请求具有自定义标头。当我尝试启动我的程序时,我收到了这个异常:

意大利语:

Questa intestazione deve essere modificata utilizzando la proprietà o il metodo appropriato。名称参数:名称

英语:

必须使用适当的属性或方法修改此标头。

在线的:request.Headers.Add("Content-Type", "text/x-gwt-rpc; charset=utf-8");

这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Collections.Specialized;
using System.IO;
using System.Text.RegularExpressions;
using System.Dynamic;
using System.Collections;
using System.Collections.ObjectModel;
using System.Net.Security;
using System.Web;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            WebRequest request = WebRequest.Create("http://www.androidlost.com/androidlost/greet");
            request.Method = "POST";
            request.Headers.Add("Content-Type", "text/x-gwt-rpc; charset=utf-8");
            string postData = "Test";
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            request.ContentLength = byteArray.Length;
            Stream dataStream = request.GetRequestStream();
            dataStream.Write(byteArray, 0, byteArray.Length);
            dataStream.Close();
         }
    }
}

4

2 回答 2

14

使用 WebRequest.ContentType 属性。某些标头只能使用 API 属性进行设置。

编辑:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.androidlost.com/androidlost/greet");
request.ContentType = "text/x-gwt-rpc; charset=utf-8";
于 2012-06-21T15:13:54.910 回答
3

根据 MSDN 文档,HttpWebRequest.Header 属性

Content-Type 使用该ContentType属性进行修改。这要求您WebRequestHttpWebRequest

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.androidlost.com/androidlost/greet");
于 2012-06-21T15:11:33.787 回答