Как разместить необработанные данные с помощью C # HttpWebRequest - PullRequest
7 голосов
/ 17 сентября 2010

Я пытаюсь сделать запрос POST, в котором я должен отправить необработанные данные POST.

Какое свойство мне следует изменить, чтобы добиться этого.

Это свойство HttpWebRequest.ContentType,Если да, то какое значение я должен присвоить ему.

Ответы [ 2 ]

10 голосов
/ 17 сентября 2010
public static string HttpPOST(string url, string querystring)
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    request.ContentType = "application/x-www-form-urlencoded"; // or whatever - application/json, etc, etc
    StreamWriter requestWriter = new StreamWriter(request.GetRequestStream());

    try
    {
        requestWriter.Write(querystring);
    }
    catch
    {
        throw;
    }
    finally
    {
        requestWriter.Close();
        requestWriter = null;
    }

    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    using (StreamReader sr = new StreamReader(response.GetResponseStream()))
    {
        return sr.ReadToEnd();
    }
}
2 голосов
/ 17 сентября 2010

Вы хотите установить для свойства ContentType тип mime данных.Если это файл, это зависит от типа файла, если это простой текст, то текст / обычный текст, а если это произвольные двоичные данные ваших локальных целей, то application / octet-stream.В случае текстовых форматов вы захотите включить кодировку вместе с типом контента, например, «text / plain; charset = UTF-8».

Затем вы захотите вызвать GetRequestStream () и записать данные в возвращенный поток.

...