웹 응용 프로그램에서 클라이언트의 컴퓨터 이름을 가져 오는 방법은 무엇입니까? 네트워크의 사용자입니다. - System.Environment/컴퓨터 이름 (웹 응용 프로그램의 호스트 이름)을 얻는 방법은 무엇입니까?
답변
당신이 가진 윈도우 머신 이름을 얻을 수 있습니다 :
감사
가 이미이 옵션
string IP = System.Web.HttpContext.Current.Request.UserHostAddress;
string compName = DetermineCompName(IP);
System.Net.IPHostEntry teste = System.Net.Dns.GetHostEntry(IP);
ssresult = IP + " - " + teste.HostName;
// TODO: Write implementation for action
private static string DetermineCompName(string IP)
{
IPAddress myIP = IPAddress.Parse(IP);
IPHostEntry GetIPHost = Dns.GetHostEntry(myIP);
string[] compName = GetIPHost.HostName.ToString().Split('.');
return compName[0];
}
그 모든
을 tryed // 나에게 단지 IP를 제공합니다. MachineName, 그리고 난 고객 이름을 묻습니다 – Filipe
죄송합니다. 귀하의 질문을 잘못 읽었습니다. 여기에 설명 된대로 win API를 사용할 수 있습니다 - http://www.codeproject.com/KB/IP/ListNetworkComputers.aspx 네트워크의 모든 컴퓨터 목록을 캐시해야하므로 훌륭한 옵션이 아닙니다. – ClearCarbon
더 자세히 살펴보고 nslookup을 실행할 수 있습니다. System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo sInfo = new System.Diagnostics.ProcessStartInfo ("nslookup.exe"); 결과 = process.StandardOutput.ReadToEnd(); – ClearCarbon
그래, 계속 컴퓨터를 요청하고 캐싱하는 것은 대단히 비효율적입니다.
나는이 코드를 테스트하지 않았습니다 백그라운드에서 nslookup을 실행하는 갈 것 어느 쪽도 아니 그것은 실패에 대한 오류를 처리하지만, 기본적으로, 당신은 할 수 있습니다 :
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo sInfo = new System.Diagnostics.ProcessStartInfo("nslookup.exe", "192.168.1.100");
string result = process.StandardOutput.ReadToEnd();
가 그럼 그냥 결과 값을 구문 분석합니다.
오케이 죄송합니다. 좀 더 자세히 조사 할 시간이 없지만 도움이 될 것입니다. - http://stackoverflow.com/questions/353601/capturing-nslookup-shell-output-with-c – ClearCarbon
작동하도록 보장 할 수 없습니다.
가장 가까운 대상은 이미 시도한 내용 인 System.Net.Dns.GetHostEntry
을 사용하여 역방향 DNS 조회를 수행하는 경로로 이동하는 것입니다.
문제는 시스템이 원격 웹 클라이언트의 호스트 이름을 IP 주소만으로 알 수있는 방법이 없다는 것입니다 (같은 서브넷에 있지 않으면 검색 할 수 있습니다).
IP를 호스트 이름으로 다시 매핑 할 수있는 DNS 인프라로 되돌려 야합니다 [이것은 호스트 이름을 입력 할 때 nslookup이 수행하는 작업입니다] 많은 장소가 역방향 IP 설정을 방해하지 않습니다 기록.
플러스의 경우 호스트 이름과 일치하지 않는 경우가 많습니다. "1.2.3.4"에 대한 역방향 조회가 실제 호스트 이름 대신 "machine-1.2.3.4"행으로 돌아 오는 것이 일반적입니다.
많은 클라이언트 컴퓨터가 외부 관점에서 단일 IP를 갖도록 클라이언트가 모든 종류의 네트워크 주소 변환 뒤에있는 경우이 문제는 더욱 악화됩니다. "네트워크의 사용자"라고 말한 이후로는 그렇지 않습니다. 여담으로
, 서버로 이동하여 명령 프롬프트에서 입력하면,
nslookup <some ip>
(여기서 이러한 클라이언트 시스템 중 하나의 예입니다), 다시 호스트 이름을받을 수 있나요?
그렇다면 System.Net.Dns.GetHostEntry
도 가능해야합니다. 그렇다면 위에서 언급 한 이유 때문에 가능하지 않을 수 있습니다.
당신의 클라이언트는 Windows는 이름을 얻기 위해이 클라이언트 측 코드를 사용하여 서버에 다시 전달할 수 IE를 실행 기반으로 가정하면 :
<script type="text/javascript">
function create()
{
var net = new ActiveXObject("wscript.network");
document.write(net.ComputerName);
}
</script>
- 1. 응용 프로그램의 프로세스 이름을 얻는 방법은 무엇입니까?
- 2. 응용 프로그램의 서비스 이름을 아는 방법은 무엇입니까?
- 3. 안드로이드에서 응용 프로그램의 패키지 이름을 얻는 방법은 무엇입니까?
- 4. 브라우저 IP 또는 호스트 이름을 얻는 방법은 무엇입니까?
- 5. 웹 응용 프로그램의 데이터베이스 접두사 란 무엇입니까?
- 6. 이런 종류의 URL에서 호스트 이름을 얻는 방법은 무엇입니까?
- 7. 자바 스크립트 asp.net 웹 응용 프로그램의 로컬 네트워크에서 클라이언트 컴퓨터 이름 가져 오기
- 8. 장치에 설치된 안드로이드 응용 프로그램의 패키지 이름을 얻는 방법
- 9. asp.net에서 전체 도메인 이름을 얻는 방법은 무엇입니까?
- 10. 웹 응용 프로그램에서 컴퓨터 사용자 이름 가져 오기
- 11. 컴퓨터 이름
- 12. 클라이언트의 컴퓨터 이름 얻기
- 13. 호스트 이름을 ec2 인스턴스로 리디렉션하는 방법은 무엇입니까?
- 14. wpf 응용 프로그램의 호스트 Silverlight
- 15. .NET 웹 서비스 - 부적절한 호스트 이름 확인
- 16. 호스트 이름 쿼리의 포트는 무엇입니까?
- 17. 응용 프로그램의 이름을 얻으십시오.
- 18. 사용자의 도메인 이름을 웹 응용 프로그램에 연결하는 기본 방법은 무엇입니까?
- 19. 컴퓨터 이름을 프로그래밍 방식으로 변경하십시오.
- 20. ASP.NET의 동적 호스트 이름
- 21. 스마트 장치 응용 프로그램에서 응용 프로그램의 경로를 얻는 방법은 무엇입니까?
- 22. 호스트 이름으로 IP 주소를 얻는 방법은 무엇입니까?
- 23. Adobe AIR의 Linux에서 호스트 이름을 얻는 방법 NativeProcess
- 24. Perl에서 호스트 이름을 확인하는 방법은 무엇입니까?
- 25. 브라우저의 이름을 얻는 방법은 무엇입니까?
- 26. 웹 응용 프로그램 루트를 얻는 방법은 무엇입니까?
- 27. vb6 - 주어진 IP 주소를 기반으로 원격 컴퓨터 이름을 얻는 방법
- 28. 컴퓨터 이름 변경
- 29. 호스트 웹 응용 프로그램
- 30. 리플렉션을 사용하여 변수 이름을 얻는 방법은 무엇입니까?
예, 서버 이름을 제공하는 클라이언트 – Filipe