Есть winform приложение на C#, которое формирует html-файл (форма ввода сведений: 5 полей для ввода текста и кнопка submit).
На форме расположен WebBrowser
, в который загружается данный локальный html -файл.
Пользователь вводит сведения (кириллица, в каждое поле не более 200 символов) и отправляет их нажав кнопку submit
.
В программе request принимается и парсится.
Все работает корректно для небольших по объему введенных данных.
Проблема – если пользователь ввел большой объем данных. В этом случае в программу возвращается только название файла (того, который был отправлен для отображения в webbrowser
).
На данный момент не нашел в описаниях ограничений на максимальную длину строки request. Подскажите, пожалуйста, в каком направлении копать?
Отправка в WebBrowser файла:
string filename = w_control.UpdateWeb();
if (File.Exists(filename))
{
Uri uriAddress2 = new Uri("file://" + filename);
webLogin.Navigate(uriAddress2.LocalPath);
}
Код приема ответа от webbrowser. все просто - классика))
private void webLogin_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
try
{
// парсер ответа
w_control.ParserUrl(e.Url.ToString());
}
catch (Exception ex)
{
errCount++;
msgWebUI.AppendLine(String.Format("Func: {0}; Error: {1}; Source: {2}", "webLogin_Navigated", ex.Message, ex.Source));
}
} //
Проблема, что ответ даже в 400 символов кириллицы не приходит. Если 200 символов - все хорошо. Точную границы не нашел. Неудача зависит только от длины введенного текста.
Код html корректный. Если html файл открыть в браузере (Хром), ввести много данных и нажать submit, то в адресной строке "правильная" длинная строка!
Появилась мысль: если возвращается только название файла - может ответ в файле? такое может быть? Сейчас не за компьютером - проверю догадку вечером.
В Microsoft Internet Explorer максимальная длина URL-адреса ограничена 2083 символами. Кроме того, максимально допустимая длина пути в Internet Explorer составляет 2048 символов. Эти ограничения относятся к URL-адресам как для запросов POST, так и для запросов GET.
При использовании метода GET ограничение составляет 2048 символов за вычетом количества символов в текущем пути.
В то же время метод POST не ограничен размером URL-адреса при отправке пар имя/значение. Эти пары пересылаются в заголовке, а не в URL-адресе.
В документе RFC 2616 "Протокол HTTP/1.1" не определены требования к длине URL-адреса.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Необходимо сделать такой элемент,при помощи каких средств это делается?
В Unity в инспекторе не отображаются вложенные массивы или я что то не так делаю? Мне необходимо вывести массив массивов в инспектор для заполнения
Делаю калькулятор выражений (по типу 2 + (2 * sin(2^2)))) При запуске и вводе даже банального выражения (2 + 2) выдает StackOverflowExceptionЯ так понимаю проблема...
Я изменил модель MyModel добавив в нее новое свойство Myprop{get; set;}