передача и получение слишком большой строки запроса в asp.net - PullRequest
1 голос
/ 15 июля 2011

я интегрируюсь с программным обеспечением, где они отправляют свой документ на мой URL со слишком большим значением строки запроса. то есть более 75000 символов для параметра. Я нахожусь в фазе R & D, чтобы проверить, работает ли интеграция. я узнал, что браузеры будут ограничивать строку запроса. Я хочу, чтобы их документ попал на мой сервер. я гуглю но не получаю ответа. URL-адрес следующим образом

Http:\\myurl?document=thierdocument in base64 encoded format

наставь меня преодолеть проблему

Ответы [ 3 ]

4 голосов
/ 15 июля 2011

Это не сработает. Строка запроса ограничена несколькими тысячами символов в зависимости от браузера (т. Е. 2083 символа для IE ). Вместо этого используйте HTTP POST и поместите документ в двоичном формате в тело запроса.

Основная идея URL-адреса заключалась в том, чтобы Uniform Resource Locator , чтобы не передавать все данные как часть самого URL-адреса. Вы не можете обойти ограничения браузера для URL-адресов (как, впрочем, и не следует) - альтернативой может быть передача идентификатора документа в виде числа или Guid, а затем поиск этого документа для обработки как части вашей страницы.

2 голосов
/ 15 июля 2011

Мое предложение - переместить данные из строки запроса в форму публикации.

Мое предложение - переместить данные из строки запроса в форму публикации.

Почему?
Одной из причин является то, что данные url, включая вашу большую строку, используются, чтобы узнать, собирается ли страница кэшироваться браузером или нет. Поэтому я думаю, что у браузера самого есть проблема с запоминанием этой большой строки.

Другая причина в том, что этот URL-адрес является большим, и очень возможно не достичь цели.

2083 charatercs в IE. Я думаю, что ссылка указана только по URL, а не по включенным данным.

0 голосов
/ 15 июля 2011

Вам придется сделать это, используя запрос POST.

Взято из Какое ограничение на параметры QueryString / GET / URL?

Спецификация для длины URL не определяет минимальный или максимальный URL длина, но реализация зависит от браузера. В Windows: Opera поддерживает ~ 4050 символов, IE 4.0+ поддерживает ровно 2083 символа, Netscape 3 -> 4.78 поддерживает до 8192 символов, прежде чем вызывать ошибки при выключении, и Netscape 6 поддерживает ~ 2000, прежде чем вызывать ошибки на пуск.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...