HttpWebRequest 与将 URL 粘贴到地址栏中(功能上)有何不同?

2024-04-17

我正在缩小与相关的潜在问题的范围two https://stackoverflow.com/questions/1101266/bittorrent-tracker-announce-problem prior https://stackoverflow.com/questions/1105244/uri-encoding-strangeness问题。

基本上,我有一个 URL,当我手动获取它(将其粘贴到浏览器中)时效果很好,但是当我运行一些代码(使用 HttpWebRequest)时会产生不同的结果。

网址(示例):



http://208.106.250.207:8192/announce?info_hash=-%CA8%C1%C9rDb%ADL%ED%B4%2A%15i%80Z%B8%F%C&peer;_id=01234567890123456789&port;=6881&uploaded;=0&downloaded;=0&left;=0&compact;=0&no;_peer_id=0&event;=started
  

代码:

String uri = BuildURI(); //Returns the above URL
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uri);
req.Proxy = new WebProxy();
WebResponse resp = req.GetResponse();
Stream stream = resp.GetResponseStream();
... Parse the result (which is an error message from the server claiming the url is incorrect) ...

那么,如何从给定 URL 的服务器获取数据呢?我显然在这里做错了什么,但不知道是什么。

无论是对我的代码进行修复,还是采用实际有效的替代方法都可以。我根本不喜欢 HttpWebRequest 方法。


我建议您使用 Fiddler 来跟踪“在 Web 浏览器中粘贴”调用和 HttpWebRequest 调用。

追踪后您将能够看到any它们之间的差异,是否是请求 url、表单标题等方面的差异。

如果您看不到任何明显的东西,实际上可能值得将两者的原始请求(从 Fiddler 获得)粘贴到此处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HttpWebRequest 与将 URL 粘贴到地址栏中(功能上)有何不同? 的相关文章

随机推荐