问题标签 [httpwebrequest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
httpwebrequest - 更重要的是,尽可能少的 http 请求或拆分文件以便于开发?
很多时候在互联网上阅读有关 Web 开发的信息时,我听说您应该将 javascript 和 css 文件拆分为多个文件。
就像将您的 css 文件拆分为:
- 清除.css
- base.css
- page_specific.css
或者您甚至应该将它们拆分为包含定位、颜色和排版信息的文件。
但是浏览器不是只能同时发出两个http请求吗?将文件拆分成这么多文件会产生大量的 http 请求。将它们分成两个文件,一个特定于页面的文件和一个基本/清除 css 文件不是更好吗?然后将它们与大量缓存头一起发送?
我知道拆分文件更容易开发,但速度不应该更重要吗?
c# - 提高 .NET 中多线程 HttpWebRequest 的性能
我正在尝试测量 Web 服务的吞吐量。
为了做到这一点,我编写了一个小工具,它可以连续发送请求并从多个线程读取响应。
每个线程的内部循环的内容如下所示:
它似乎工作正常,除了似乎限制了该工具的某些东西。如果我以每 40 个线程运行该工具的两个实例,我获得的吞吐量比一个具有 80 个线程的实例要高得多。
我找到了 ServicePointManager.DefaultConnectionLimit 属性,我将其设置为 10000 (如果我按照 Jader Dias 的建议通过 app.config 设置它没有区别)。
.NET 或我的机器上是否有任何其他设置会影响性能?(我正在运行 Vista,但我在 Windows Server 2003 上看到了同样的问题)。
也许对单个进程可以建立多少个连接有一些限制?
c# - 是否可以根据收到的 cookie 理解成功登录?
在开发 C# 应用程序(我的第一个 C# 应用程序)时:
- 从用户(id,pass)获取登录信息,
- 打开
HttpWebRequest
到 ASP.NET 网页的新连接 - 尝试使用获得的 [id,pass] 元组登录到此页面。如果登录成功,我的
HttpWebRequest
对象包含一个 cookie,它将用于登录另一个页面。
在请求第二个(受保护的)页面之前,我想确保第一次登录成功。首先,我认为只有在登录成功的情况下,服务器才会发送一个 cookie。但事实并非如此。:)
是否可以从收到的 cookie 对象中了解我的登录成功?或者您可以为我提出其他解决此问题的方法吗?
asp.net - 使用 .NET 的 HttpWebRequest 了解 SSL 连接
我似乎无法理解这一点。我正在使用 HttpWebRequest 尝试将一些数据发送到另一个站点。我试图找出配置防火墙的最佳方法,但我不知所措。通过查看 NetMon 跟踪,它似乎忽略了我告诉它的内容。我看到的 HTTP 标头从请求中发出(不是浏览器到我的服务器请求,而是我的服务器到远程服务器请求)不加起来。
TCP DstPort 似乎也总是以 HTTP(80) 开头。无论如何,我最初似乎无法让它处理 443;SSL 在开始“真正”传输之前是否以端口 80 协商开始?启动时,此请求似乎忽略了我在启动请求之前尝试设置的任何 HttpWebRequest 设置:即使我将 HTTP 1.0 或 keep-alive 设置为 false,它仍然以上述标头开始。
它在做什么?我想知道如何让它通过,但我不确定它为什么会表现出这种行为?
下面的代码,如果它有帮助。
我已经搜索过 Google 和其他 SSL/HttpWebRequest 问题,但找不到灵丹妙药。
c# - 有没有办法在.NET中继承一个没有构造函数的类?
我目前正在尝试修改一些 HttpWebRequest 函数,但我无法通过继承来完成,因为 HttpWebRequest 没有公共构造函数(除了反序列化构造函数)。有解决方法吗?
我的目标是编写类似于下面示例的代码,但此类对象必须继承 HttpWebRequest 属性和方法:
proxy - 如何从http请求中判断客户端的唯一性?
我注意到,当客户端通过代理服务器发出 http 请求时,请求的 IP 地址始终是代理的 IP 地址。因此,如果来自具有代理服务器的大公司的许多客户访问网站,我无法判断这些请求是否来自独特的客户。如果http请求是通过代理,有什么方法可以确定客户端的唯一性?我知道mac地址不包含在http请求中,所以我几乎排除了这一点。
c# - 使用 POST 的 HttpWebRequest 的性能
我有一个用于测试网络服务的小工具。
它可以使用 POST 或使用 GET 调用 web 服务。
使用 POST 的代码是
使用 GET 的代码是:
如您所见,代码非常相似。如果有的话,我希望 GET 方法会稍微慢一些,因为它必须在 Base64 中编码和传输数据。
但是当我运行它时,我发现 POST 方法比 GET 方法使用了更多的处理能力。在我的机器上,我可以使用大约 5% 的 CPU 运行 GET 方法的 80 个线程,而 POST 方法的 80 个线程使用 95% 的 CPU。
使用 POST 有什么本质上更昂贵的东西吗?我可以做些什么来优化 POST 方法吗?我无法重用连接,因为我想模拟来自不同客户端的请求。
dotTrace 报告说,在使用 POST 时,65% 的处理时间花费在 webRequest.GetResponse() 中。
如果这有任何区别,则底层 Web 服务将使用 Digest-Authentication。
batch-file - 来自批处理文件的 http Web 请求
我需要从 Plesk 的 Task Scheduler 执行一个 http web 请求(使用 Windows/ASP.NET 上的共享主机;无论如何都没有 Powershell)。考虑过为此使用批处理文件。
是否有捷径可寻?
c# - 清除 HttpWebRequest UnsafeAuthenticatedConnectionSharing 池
是否可以清除当前进程的 UnsafeAuthenticatedConnectionSharing 池,即关闭所有经过身份验证的池连接?