Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
.NET-получить протокол, хост и порт
Есть ли простой способ в .NET быстро получить текущий протокол, хост и порт? Например, если я нахожусь на следующем URL:
http://www.mywebsite.com:80/pages/page1.aspx
Мне нужно вернуться:
http://www.mywebsite.com:80
Я знаю, что могу использовать Request.Url.AbsoluteUri для получения полного URL, и я знаю, что могу использовать Request.Url.Authority для получения хоста и порта, но я не уверен в лучшем способе получения протокола без разбора строки URL.
Есть какие-нибудь предложения?
Несмотря на то, что @Rick имеет общепринятый ответ на этот вопрос, на самом деле есть более короткий способ сделать это, используя плохо названный метод Uri.GetLeftPart() .
Uri url = new Uri("http://www.mywebsite.com:80/pages/page1.aspx");
string output = url.GetLeftPart(UriPartial.Authority);
Однако есть одна загвоздка в GetLeftPart(). Если порт является портом по умолчанию для схемы,он будет удален. Поскольку порт 80 является портом по умолчанию для http, вывод GetLeftPart() в моем примере выше будет http://www.mywebsite.com .
Если бы номер порта был чем-то иным, чем 80, он был бы включен в результат.
Хорошо, если вы делаете это в Asp.Net или имеете доступ к HttpContext.Current.Request Я бы сказал, что это более простые и общие способы их получения:
var scheme = Request.Url.Scheme; // will get http, https, etc.
var host = Request.Url.Host; // will get www.mywebsite.com
var port = Request.Url.Port; // will get the port
var path = Request.Url.AbsolutePath; // should get the /pages/page1.aspx part, can't remember if it only get pages/page1.aspx
Надеюсь, это поможет. :)
Очень похоже на ответ Хольгера. Если вам нужно захватить URL может сделать что-то вроде:
Uri uri = Context.Request.Url;
var scheme = uri.Scheme // returns http, https
var scheme2 = uri.Scheme + Uri.SchemeDelimiter; // returns http://, https://
var host = uri.Host; // return www.mywebsite.com
var port = uri.Port; // returns port number
Класс Uri предоставляет целый ряд методов, многие из которых я не перечислил.
В моем случае мне нужно было захватить LocalHost вместе с Port Number , так что это то, что я сделал:
var Uri uri = Context.Request.Url;
var host = uri.Scheme + Uri.SchemeDelimiter + uri.Host + ":" + uri.Port;
Который успешно схватил: http://localhost:12345