powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как правильно делать UrlEncode?
13 сообщений из 13, страница 1 из 1
Как правильно делать UrlEncode?
    #39966159
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в документации написано можно весь урл
https://docs.microsoft.com/ru-ru/dotnet/api/system.web.httputility.urlencode?view=netcore-3.1

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
String url = HttpUtility.UrlEncode("https://www.google.ru/search?newwindow=1&client=opera");
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;           
request.Method = "POST";
request.Timeout = 5 * 1000;

HttpWebResponse response = request.GetResponse() as HttpWebResponse;
string result = string.Empty;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
	result = reader.ReadToEnd();



но получаю ошибку:
Недопустимый URI: Невозможно определить формат URI.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
Сведения об исключении: System.UriFormatException: Недопустимый URI: Невозможно определить формат URI.

получается нужно кодировать вот эту строку
?newwindow=1&client=opera
вместе с вопросительным знаком
так?
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966164
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
получается нужно кодировать вот эту строку
?newwindow=1&client=opera
не в ту сторону копаешь
тебе не надо кодировать URL
тебе нужно что-то типа QueryParametersBuilder (забыл, как именно класс называется, щас попробую найти)
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966167
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
var builder = new UriBuilder("http://example.com");
builder.Port = -1;
var query = HttpUtility.ParseQueryString(builder.Query);
query["foo"] = "bar<>&-baz";
query["bar"] = "bazinga";
builder.Query = query.ToString();
string url = builder.ToString();
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966168
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя.... я может тебе не на тот вопрос ответил. Расскажи, зачем ты пытаешься закодировать URL
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966172
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Хотя.... я может тебе не на тот вопрос ответил. Расскажи, зачем ты пытаешься закодировать URL

ну как, стандартный энкод з-й параметров
я использую REST API программы мираполис
у них написано надо энкодить в документации
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966173
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
var url = Uri.EscapeUriString("https://www.google.ru/search?newwindow=1&client=opera");



Либо через Uri.EscapeDataString() ескейпить каждый отдельный параметер и из них собирать уже полный урл (это на тот случай, если в самих параметрах есть '&', '?', или '='), как-то так.
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966174
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стоп, у меня POST
нафиг мне кодировать

но вопрос все равно открыт, если был бы GET :)
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966177
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
но вопрос все равно открыт
вопрос озвучь.
Зачем тебе кодировать, когда у тебя есть готовый урл?
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966178
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
у них написано надо энкодить в документации

Энкодить что? Урл? Тело запроса?
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966182
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
(это на тот случай, если в самих параметрах есть '&', '?', или '='),
выше пример, ничего не надо кодировать руками, всё уже придумано до вас
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966188
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
fkthat
(это на тот случай, если в самих параметрах есть '&', '?', или '='),
выше пример, ничего не надо кодировать руками, всё уже придумано до вас

Да я так-то ничего не придумываю. Просто HttpUtility это какой-то пришелец из System.Web, хоть и входит в нетстендард. Мне оно просто из-за этого не нравится, поэтому привык пользоваться Uri.EscapeXXX(...).
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966198
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообщем кодировать нужно сами з-я
...
Рейтинг: 0 / 0
Как правильно делать UrlEncode?
    #39966289
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
Код: c#
1.
2.
String url = HttpUtility.UrlEncode("https://www.google.ru/search?newwindow=1&client=opera");
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;   



Это что за дичь? ))
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как правильно делать UrlEncode?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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