我正在使用web服务并使用httpWebRequest.create api连接它。如果我在80以外的IIS中更改TCP端口号,那么我的应用程序无法连接到它。如何在IIS中设置System.Url对象中的端口号,以便我的应用程序可以连接到Web服务。如何自定义默认的tcp端口号(80)
回答
你通常通过添加端口,像这样做:
http://www.example.com:81/path/to/page
它确定,但我怎么知道什么端口号设置为IIS。我必须在运行时查询此端口号,以便我可以在URL中追加端口号 – 2010-05-25 12:08:57
您的意思是您正在尝试连接到Web服务,但您不一定事先知道它要连接到哪个端口正在运行? – 2010-05-25 12:27:34
假设我的Web服务abc映射到IIS中的默认Web站点。我使用http://localhost/abc/abc.asmx访问此Web服务。当时我能够连接到这个服务。假设一个去IIS,并且在默认网站下将端口号从默认值80更改为90并重新启动IIS。现在我来到我的应用程序,但这次它没有连接到Web服务,因为我仍然使用http://localhost/abc/abc.asmx而不知道什么是新的端口号。我的问题是有没有办法找到更改的端口号,以便我可以修改IIS – 2010-05-25 14:04:31
使用URI形式http://example.com:8080/
,其中8080可以是任何其他
我认为,如果你的web服务的URI是http://webservice/那么你可能只是做http://webservice:1234其中1234是新的端口..
中的新portnumber请求的Web服务地址,但我怎么知道什么端口号设置为IIS。我必须在运行时查询此端口号,以便我可以在URL中追加端口号 – 2010-05-25 12:09:53
要在运行时查询,您需要有另一个为已知Web服务提供端口的Web服务。恕我直言,没有其他的选择,因为你不能不知道端口进行任何沟通。 – Salil 2010-05-25 12:14:02
假设我的web服务abc映射到IIS中的默认网站。我使用http://localhost/abc/abc.asmx访问此Web服务。当时我能够连接到这个服务。假设一个去IIS,并且在默认网站下将端口号从默认值80更改为90并重新启动IIS。现在我来到我的应用程序,但这次它没有连接到Web服务,因为我仍然使用http://localhost/abc/abc.asmx而不知道什么是新的端口号。我的问题是有没有办法找到更改的端口号,以便我可以修改IIS – 2010-05-25 14:04:56
使用
WebRequest.Create
与string parameter:WebRequest.Create("http://{server}:{port});
使用
WebRequest.Create
与uri parameter:Uri myUri = new Uri("http://{server}:{port}"); WebRequest.Create(Uri);
中的新portnumber所请求的Web服务地址,但我怎么知道什么端口号设置为IIS。我必须在运行时查询此端口号,以便我可以相应地在URL中追加端口号 – 2010-05-25 12:09:24
认定远程计算机上运行的IIS的端口是不容易的。要么你需要有不同的沟通方式来沟通配置(比如服务),或者使用能检查所有可能端口的portscanner(不推荐)。
但是,如果IIS在本地计算机上运行,则可以使用appcmd
命令获取在IIS中运行的站点的列表。
appcmd list site
如果你想这样做编程方式在C#中,你可以做线沿线的东西:
// Setup ProcessStartInfo
var processInfo = new ProcessStartInfo();
processInfo.FileName = Environment.ExpandEnvironmentVariables("%windir%\system32\inetsrv\appcmd.exe");
processInfo.Arguments = "list site";
processInfo.RedirectStandardOutput = true;
processInfo.UseShellExecute = false;
// Start the process
var process = new Process();
process.StartInfo = processInfo;
process.Start(processInfo);
// Capture the output and wait for exit
var output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
// Parse the output
var ports = Regex.Matches(output, ":([0-9]+):");
foreach (Match port in ports)
{
// TODO: Do something with the ports here
Console.WriteLine(port.Groups[1].Captures[0].Value);
}
- 1. 在默认端口80上运行其他端口上的magento
- 2. 如何将默认端口号更改为Tomcat端口号8080?
- 3. 需要转发自定义端口到端口80
- 4. C#TCP/IP自定义IP和端口
- 5. 端口80上的Amazon EC2 TCP?
- 6. TCP passthroughs不工作的80端口
- 7. TCP程序不能侦听端口80
- 8. TCP端口如何绑定
- 9. 如何更改Omnibus Gitlab的默认http端口定义?
- 10. 更改systemjs中的默认端口号
- 11. 在Windows 7的TCP端口80重定向器
- 12. 如何更改我的域名的默认80端口到我的tomcat 8080
- 13. 端口号为80的Apache服务器
- 14. cacti默认端口
- 15. 如何找到默认的JMX端口号?
- 16. 如何获取java中的默认打印机端口号
- 17. 如何更改mongoDB中的默认端口号?
- 18. Mochiweb端口80
- 19. 如何将opensips默认端口号5060更改为某个其他端口?
- 20. 80端口的superwebsocket
- 21. 什么是GridGain使用的默认tcp端口
- 22. 通过Web的API:使用80端口还是自定义的(如8080)?
- 23. 如何将特定范围的端口重定向到node.js中的端口80
- 24. GoogleMap.InfoWindowAdapter自定义和默认
- 25. mongodb如何更改默认端口
- 26. 如何更改Fireloop默认端口4200
- 27. 允许端口80/TCP上的传出流量的服务器防火墙是否也允许端口80/UDP?
- 28. 如何杀死Ubuntu中的80端口
- 29. 端口80上的端口错误
- 30. 设置自定义端口tcp,仅用于登录cms
也许包括你的问题,你正在寻找一种方式来确定端口号IIS在运行时设置为。 – Wazner 2016-08-02 11:25:01