Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных, multipart/form-data 
:(
    Опции темы
DenWPF
Дата 21.2.2010, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



Столкнулся с какой то странной передачей данных.
тип multipart/form-data

вот такое передает браузер...

Код

Content-Type: multipart/form-data; boundary=---------------------------23281168279961
Content-Length: 2097 -----------------------------23281168279961 
Content-Disposition: form-data; name="my_post_key" d52ffd94bed1f41fd2db3a5521f14f4f -----------------------------23281168279961 
Content-Disposition: form-data; name="subject" RE:  -----------------------------23281168279961 
Content-Disposition: form-data; name="icon" -1 -----------------------------23281168279961 
Content-Disposition: form-data; name="message_new" mesmesmes -----------------------------23281168279961 
Content-Disposition: form-data; name="message" mesmesmes -----------------------------23281168279961 
Content-Disposition: form-data; name="postoptions[subscriptionmethod]" -----------------------------23281168279961 
Content-Disposition: form-data; name="submit" Post Reply -----------------------------23281168279961 
Content-Disposition: form-data; name="action" do_newreply -----------------------------23281168279961 
Content-Disposition: form-data; name="replyto" -----------------------------23281168279961 
Content-Disposition: form-data; name="posthash" c958cf9b85a30aaa71415ebb41021c72 -----------------------------23281168279961 
Content-Disposition: form-data; name="attachmentaid" -----------------------------23281168279961 
Content-Disposition: form-data; name="attachmentact" -----------------------------23281168279961 
Content-Disposition: form-data; name="quoted_ids" -----------------------------23281168279961 
Content-Disposition: form-data; name="tid" 250855 -----------------------------23281168279961 



а мне как передать??
это всё как одна строка?
PM MAIL   Вверх
nmn
Дата 21.2.2010, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: 1
Всего: 1



преобразовать строку к нужной кодировке Encoding.GetEncoding(...).GetBytes(...) и записать в поток запроса HttpWebRequest, поставить значение HttpWebRequest.ContentType равным multipart/form-data
PM Skype   Вверх
DenWPF
Дата 21.2.2010, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



Код

string formDataBoundary = " ---------------------------23281168279961";

string startBoundary = " Content-Disposition: form-data; name=\"";

string contentType = "multipart/form-data; boundary=" + formDataBoundary;
string textRequest = "Content-Disposition: form-data; name="my_post_key" d52ffd94bed1f41fd2db3a5521f14f4f -----------------------------23281168279961 
Content-Disposition: form-data; name="subject" RE:  -----------------------------23281168279961 
Content-Disposition: form-data; name="icon" -1 -----------------------------23281168279961 
Content-Disposition: form-data; name="message_new" mesmesmes -----------------------------23281168279961 
Content-Disposition: form-data; name="message" mesmesmes -----------------------------23281168279961 
Content-Disposition: form-data; name="postoptions[subscriptionmethod]" -----------------------------23281168279961 
Content-Disposition: form-data; name="submit" Post Reply -----------------------------23281168279961 
Content-Disposition: form-data; name="action" do_newreply -----------------------------23281168279961 
Content-Disposition: form-data; name="replyto" -----------------------------23281168279961 
Content-Disposition: form-data; name="posthash" c958cf9b85a30aaa71415ebb41021c72 -----------------------------23281168279961 
Content-Disposition: form-data; name="attachmentaid" -----------------------------23281168279961 
Content-Disposition: form-data; name="attachmentact" -----------------------------23281168279961 
Content-Disposition: form-data; name="quoted_ids" -----------------------------23281168279961 
Content-Disposition: form-data; name="tid" 250855 -----------------------------23281168279961"






Код

            // Преобразуем запрос из строки в byte[]
            byte[] byteArray = Encoding.UTF8.GetBytes(textRequest);

            // Поулчаем класс запроса
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            // Заполняем параметры запроса
            request.Credentials = CredentialCache.DefaultCredentials;
            request.Method = "POST";
            request.Headers.Add("Cookie", cookie);

            request.ContentLength = textRequest.Length;
            request.ContentType = contentType;


вот эту часть тоже надо в textRequest ?
Код

Content-Type: multipart/form-data; boundary=---------------------------23281168279961
Content-Length: 2097 -----------------------------23281168279961 

PM MAIL   Вверх
nmn
Дата 21.2.2010, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: 1
Всего: 1



Content-Type: multipart/form-data; boundary=---------------------------23281168279961
это заголовок типа данных его в ContentType

Content-Length: 2097 -----------------------------23281168279961 
это длина данных, по идее он должен ее сам расчитать

Это сообщение отредактировал(а) nmn - 21.2.2010, 18:05
PM Skype   Вверх
DenWPF
Дата 21.2.2010, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



так куда мне это писать? сам врдяли расчитает
PM MAIL   Вверх
nmn
Дата 22.2.2010, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: 1
Всего: 1



проверь, в чем проблема? если сервер примет данные то все нормально
PM Skype   Вверх
DenWPF
Дата 22.2.2010, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



ну а если он примет и не чего не дает...

PM MAIL   Вверх
nmn
Дата 23.2.2010, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 593
Регистрация: 26.11.2005

Репутация: 1
Всего: 1



http сервер в любом случае должен вернуть результат запроса
PM Skype   Вверх
DenWPF
Дата 23.2.2010, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



мне вот такую ошибку вернули" Can not upload file - Too large for php post_max_size directive. Please press the back button."
PM MAIL   Вверх
Kano
Дата 23.2.2010, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.2.2009

Репутация: нет
Всего: 0



DenWPF, сервер не может принять такой большой файл.
PM MAIL   Вверх
DenWPF
Дата 24.2.2010, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



за перевод спасибо, но вообще то не передаю туда файл.
PM MAIL   Вверх
Kano
Дата 24.2.2010, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.2.2009

Репутация: нет
Всего: 0



Тут даже не важно файл или не файл, длина POST-запроса должна быть меньше того, что прописана в конфиге PHP.
PM MAIL   Вверх
DenWPF
Дата 24.2.2010, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



23281168279961 - откуда это число берется?

ээ ну размер я посмотрел он меньше чем браузер передает
PM MAIL   Вверх
Kano
Дата 24.2.2010, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 23.2.2009

Репутация: нет
Всего: 0



Цитата(DenWPF @  24.2.2010,  00:22 Найти цитируемый пост)
23281168279961 - откуда это число берется?

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

Цитата(DenWPF @  24.2.2010,  00:22 Найти цитируемый пост)
ээ ну размер я посмотрел он меньше чем браузер передает 

— какой из? Размер в php.ini или отправляемый твоей программой?
PM MAIL   Вверх
DenWPF
Дата 24.2.2010, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1659
Регистрация: 26.9.2009

Репутация: нет
Всего: 1



отправленный браузером и отправленный моей программой
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0562 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.