Я использую класс WebRequest для запроса на какой-либо сайт. Строка запроса содержит косую черту (/), которая приводит к тому, что URL-адрес должен быть разрезан узлом, потому что он не видит его как часть строки запроса.Проблема с косой чертой в строке запроса
Строка запроса: «мои параметры/разделены косой чертой».
Запрос:
var request = WebRequest.Create(
"http://www.somesime.com/q-my+params+%2f+separated+by+slash"
);
Что не хватает?
EDIT: После того как все ответы здесь обновление:
Я был неправ строки запроса, это на самом деле не строка запроса, но URL должен выглядеть (без "?"):
"http://www.somesime.com/q-my+params+%2f+separated+by+slash"
URL-адрес «http://www.somesime.com/q-my+params+%2f+separated+by+slash» является результатом метода Server.UrlEncode. Код:
var url = "http://www.somesime.com/q-" +
Server.UrlEncode(@"my params/separated by slash");
EDIT 2: Если я помещаю получившийся URL в браузер, все работает. Но если я запускаю его через WebRequest класс, результаты URL, как это называется без «/ разделенных косой чертой» часть
В вашем примере нет строки запроса. Вышеуказанная строка является частью URL-адреса после вопросительного знака. Хотя это может немного напоминать запрос, это, часть пути. –
Server.UrlEncode удалит «/», так что это не испортит ваш веб-запрос, если предположить, что он использует URL-маршрутизацию, вы просто изменили путь. – Charlie
@ F5ToDebug: Server.UrlEncode преобразует '/' до '% 2f'. Но сайт, я делаю запрос, все еще вижу его как '/' – Kamarey