gpt4 book ai didi

c# - 使用 BindIPEndPointDelegate 指定源端口似乎不起作用

转载 作者:行者123 更新时间:2023-11-30 13:02:48 26 4
gpt4 key购买 nike

我搜索了关于如何使用 BindIPEndPointDelegate 来更改我的 HttpWebRequest 的源端口的全部内容。我发现了多篇关于此的帖子:

HereHere

但是,它似乎对我不起作用。我发现这个人有同样的问题: Define Outgoing/Calling Port for SOAP Web Service in Visual Studio 2010

基本上,我想在连接到网页时更改源端口。 BindIPEndPointDelegate 非常简单。

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.ServicePoint.BindIPEndPointDelegate = (servicePoint, remoteEp, retryCount) =>
{
return new IPEndPoint(IPAddress.Any, 8086);
};

当我使用 netstat -n 查看连接时,我希望看到 myipaddress:8086 作为源和目标 IP:80。我在 netstat 中看到的是它正在使用我指定的端口创建环回 (127.0.0.1:8086)。查看 netstat -n 的屏幕截图

由于这是我的第一篇文章,所以我无法发布图片。所以可以找到图片here

为什么 BindIPEndPointDelegate 创建环回连接以及如何让我的 WebRequest 像具有指定端口的浏览器一样运行?

我在 win7 Pro 机器上,没有本地防火墙,没有通过代理。

最佳答案

我今天遇到了类似的问题。我在 BindIPEndPointDelegate 中选择了一个特定的源端口,但是对于 WireShark,我总是看到与我选择的不同的源端口。然后我发现我通过使用 Fiddler2 Web Debugger 隐式地使用代理.关闭 Fiddler 后,我开始在绑定(bind)委托(delegate)中请求的 WireShark 中看到源端口号。

结果是,如果您在任何地方都有代理,您可能会看到同样的行为。

关于c# - 使用 BindIPEndPointDelegate 指定源端口似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com