PUT-запрос, как?

xEngine33

Пользователь
Регистрация
25.03.2016
Сообщения
68
Благодарностей
14
Баллы
8
Всем доброе утро, помогите разобраться как делается PUT-запрос. Нашел на форуме только этот код:


Код:
WebCliеnt client = new WebClient();
client.Headers[HttpRequеstHeader.ContentType] = "application/json";
string str = client.UploadString("https://www.zennolab.com", "PUT", "тут json");
В логе ошибка: Ошибка в действии "CS1002", "Ожидалось ;" [Строка: -9; Столбец: 17]

Как довести код до ума, может у кого есть готовое решение, спасибо. :bc::bt:
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
824
Баллы
93
Не нашел перегрузку для метода UploadString который бы принимал 3 string.
Есть вот это https://msdn.microsoft.com/ru-ru/library/ms144237(v=vs.110).aspx

Тогда делаем так
Код:
string str = client.UploadString(new Uri("https://www.zennolab.com"), "PUT", "тут json");
 
  • Спасибо
Реакции: xEngine33

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 657
Благодарностей
656
Баллы
113
Получилось без ошибок отправить у кого-нибудь?
 

xEngine33

Пользователь
Регистрация
25.03.2016
Сообщения
68
Благодарностей
14
Баллы
8

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
457
Баллы
63
Учтите, что отправка будет происходить напрямую, без использования прокси.
Если необходимо, есть возможность вставить в данный код только HTTP/HTTPS прокси.
Если требуется поддержка протокола SOCKS4/5, то нужно добавить дополнительный код для реализации данного протокола.
Код:
try
{
    string url = "https://www.zennolab.com";
    string json = "{'test': 'test'}";
    byte[] data = Encoding.ASCII.GetBytes(json);
    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
    request.Method = "PUT";
    request.ContentType = "text/plain";
    request.ContentLength = data.Length;
    request.KeepAlive = true;
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(data, 0, data.Length);
    requestStream.Close();
    System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
    string result = response.StatusCode.ToString();
    return result;
}
catch (Exception e)
{
    return "ERROR:" + e.Message;
}
 

xEngine33

Пользователь
Регистрация
25.03.2016
Сообщения
68
Благодарностей
14
Баллы
8
Учтите, что отправка будет происходить напрямую, без использования прокси.
Если необходимо, есть возможность вставить в данный код только HTTP/HTTPS прокси.
Если требуется поддержка протокола SOCKS4/5, то нужно добавить дополнительный код для реализации данного протокола.
Код:
try
{
    string url = "https://www.zennolab.com";
    string json = "{'test': 'test'}";
    byte[] data = Encoding.ASCII.GetBytes(json);
    System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
    request.Method = "PUT";
    request.ContentType = "text/plain";
    request.ContentLength = data.Length;
    request.KeepAlive = true;
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(data, 0, data.Length);
    requestStream.Close();
    System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
    string result = response.StatusCode.ToString();
    return result;
}
catch (Exception e)
{
    return "ERROR:" + e.Message;
}
Спасибо огромное. :-)
 

xatchikzzz

Client
Регистрация
08.09.2010
Сообщения
577
Благодарностей
41
Баллы
28
Не допру чёто ... есть PUT запрос и ссылка на json мне надо вписать туда данные которые нужно изменить .. как это сделать??
 

yourmind

Client
Регистрация
13.09.2010
Сообщения
245
Благодарностей
21
Баллы
18

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)