powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передача данных методом POST с параметрами
24 сообщений из 24, страница 1 из 1
Передача данных методом POST с параметрами
    #38399082
Naile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходимо переслать клиенту xml файл методом POST.
Это понятно как делать.
Но задача формулируется таким образом - в ПОСТе надо передать 2 параметра - ключ (key) и сам файл (file).
Как в методе POST передать параметры?
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399098
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кроме
<input name="xmlFile" type="file" />
добавить в форму еще и
<input name="key" type="hidden" />
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399110
Naile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, не до конца сформулировала задачу.
Я не использую веб-форму. Я просто пишу класс на С#, dll которого потом использую для созданию assembly в SQL.

Вот стандартный метод :
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
WebRequest request = WebRequest.Create(<адрес для отправки>);       
request.Method = "POST";

byte[] byteArray = Encoding.UTF8.GetBytes(doc.InnerXml); //doc - мой xml файл
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
        
dataStream.Close();       
WebResponse response = request.GetResponse();
dataStream = response.GetResponseStream();       
StreamReader reader = new StreamReader(dataStream);       
string responseFromServer = reader.ReadToEnd();
        
reader.Close();
dataStream.Close();
response.Close();



но вот как это с параметрами сделать?
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399116
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы попробовал передать через http://msdn.microsoft.com/en-us/library/system.net.webrequest.headers.aspx
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399130
Naile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот такой вариант пройдет?
вместо строки
Код: c#
1.
byte[] byteArray = Encoding.UTF8.GetBytes(doc.InnerXml); //doc - мой xml файл




Код: c#
1.
2.
string postString = string.Format("key={0}&file={1}&inputPassword={2}", "ааааааааааа", doc.InnerXml);
byte[] byteArray = Encoding.UTF8.GetBytes(postString);



Просто у меня пока нет возможности протестировать... Но надо все максимально подготовить.
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399131
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы это... поговорите с тем кто это разгребать будет на той стороне...
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399133
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NaileНеобходимо переслать клиенту xml файл методом POST.
Это понятно как делать.
Но задача формулируется таким образом - в ПОСТе надо передать 2 параметра - ключ (key) и сам файл (file).
Как в методе POST передать параметры?
Как обычно, с разделилелем &.
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399140
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПаганельВы это... поговорите с тем кто это разгребать будет на той стороне...
Нормально всё на той стороне будет. Вот так собираются параметры:

Код: c#
1.
byte[] bytes = Encoding.GetEncoding(1251).GetBytes("Id=123&Value=Tests");
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399149
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, а почему не multipart/form-data
?
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399159
Naile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель,

Вы имеете в виду request.ContentType?
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399211
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399221
Naile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А где можно всевозможные значения просмотреть? Я не смогла найти.

вариант application/x-www-form-urlencoded взяла из примера...
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399242
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я просто подумал что для передачи файлов надо multipart (по аналогии с http://htmlbook.ru/html/form/enctype )
хотя, может я и ошибаюсь, потому что с WebRequest работал крайне мало

неполный список mime-типов есть в википедии

да, и протестируйте на всякий случае с таким xml
<root><note>greater &gt;than=test</note></root>
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399297
Naile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну что... Протестили с клиентом.
Вроде все ок.
Вариант

Код: c#
1.
2.
string postString = string.Format("key={0}&file={1}", "ааааааааааа", doc.InnerXml);
byte[] byteArray = Encoding.UTF8.GetBytes(postString);


прошел нормально.

application/x-www-form-urlencoded - так и оставила.
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399300
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NaileНу что... Протестили с клиентом.
Вроде все ок.хорошо
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399366
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганельда, а почему не multipart/form-data?
А зачем? Я обычно посылаю application/x-www-form-urlencoded...
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38399372
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПаганельда, а почему не multipart/form-data?
А зачем? Я обычно посылаю application/x-www-form-urlencoded...да на здоровье
если амперсанда в данных нет
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38400284
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рекомендую использовать класс WebClient
http://msdn.microsoft.com/en-us/library/9w7b4fz7.aspx
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38408790
Naile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла неожиданная проблема.
Вот код каким я отсылаю данные :

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
WebRequest request = WebRequest.Create("http://chamber.dev.rob.lv/api/put/");       
request.Method = "POST";
        
        string postString = string.Format("key={0}&file={1}", "5b89117b1f895b0d0c935c07849111c4", doc.InnerXml);
        byte[] byteArray = Encoding.UTF8.GetBytes(postString);
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = byteArray.Length;
        Stream dataStream = request.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);        
        dataStream.Close();       
        WebResponse response = request.GetResponse();      
        Console.WriteLine(((HttpWebResponse)response).StatusDescription);       
        dataStream = response.GetResponseStream();       
        StreamReader reader = new StreamReader(dataStream);       
        string responseFromServer = reader.ReadToEnd();        
        reader.Close();
        dataStream.Close();
        response.Close();



И клиент получает только 72 байта. Остальное не проходит...

Что это может быть?
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38408794
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в связи с тем, что Вы уже протестировали тот xml, что я Вам предлагал
у меня больше идей нет
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38408796
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naile,

а попробуйте послужить сами себе клиентом и посмотреть, куда деваются байты?
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38408798
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NaileЧто это может быть?очевидно, значок амперсанда &
передаваемое значение надо енкодить.

еще раз порекомендую пользовать WebClient и не морочить себе мозги.
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38408826
Naile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имя пользователя1,

Спасибо.
Переделала. Буду ждать результов от клиента. Но вижу, что данные прошли.
...
Рейтинг: 0 / 0
Передача данных методом POST с параметрами
    #38409007
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NaileБуду ждать результов от клиента.главное чтоб таймаут не приключился
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Передача данных методом POST с параметрами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]