2012-06-21 4 views
3

Я хочу сделать HTTP-запрос от C#. Этот запрос имеет собственные заголовки. Когда я пытаюсь запустить свою программу, я получил это исключение:HTTP-запрос на публикацию с настраиваемым заголовком

итальянского:

Questa intestazione дева Essere modificata utilizzando ли proprietà о иль Metodo appropriato. Имя parametro: имя

English:

Этот заголовок должен быть изменен, используя соответствующее свойство или метод.

На линии: 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(); 
     } 
    } 
} 

ответ

10

Используйте WebRequest.ContentType свойство. Некоторые заголовки могут быть установлены только с использованием свойств API.

EDIT:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.androidlost.com/androidlost/greet"); 
request.ContentType = "text/x-gwt-rpc; charset=utf-8"; 
+0

спасибо ... Энди, пожалуйста, напишите мне фрагмент кода, чтобы решить эту проблему ... считает – Antonio

+0

@Antonio см. Редактирование – Andy

+0

спасибо, брату .... функция correclty! – Antonio

3

Согласно документации MSDN, HttpWebRequest.Header Property.

Контент-тип модифицируется с использованием свойства ContentType. Это требует, чтобы вы бросили WebRequest к HttpWebRequest

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.androidlost.com/androidlost/greet"); 
+0

благодаря Xharze, я испытываю бросок, но проблема не решена ..... – Antonio

Смежные вопросы