Tag: wininet

Dot Net HttpClient是否意外缓存了响应?

我正在尝试编写一个类似curl的工具,演示各种HTTP缓存头对dot net的HttpClient类的影响。 在我最初的尝试中,我将工具指向我的一个内部Web服务,该服务未在响应中指定任何缓存信息并检查响应的标头。 我希望每次都能重新发送请求并在服务器上执行,每次返回一组新的但相同的内容(为了进行此测试,内容在服务器上是静态的)。 但是,相反,第一个请求之后的每个请求比第一个请求返回的速度要快得多,并且包含在第一个响应中不存在的新标题Age。 这向我表明我的命令行工具中的HttpClient正在从缓存返回响应,而不是发出新请求。 这是响应头的第一个请求: HTTP:>GET http://myserver:8058/path1/path2 Status 200 OK (OK in 00:00:00.3235905): Date = Sat, 08 Jul 2017 15:55:22 GMT Server = Microsoft-HTTPAPI/2.0 Content-Length = 150867 Content-Type = application/json; charset=utf-8 这是我的curl工具的同一个会话的请求,不久之后: HTTP:>GET http://myserver:8058/path1/path2 Status 200 OK (OK in 00:00:00.0188433): Date = Sat, 08 Jul 2017 15:55:22 GMT Server = Microsoft-HTTPAPI/2.0 Age = […]

InternetSetCookie不会在临时Internet文件中存储cookie

我正在尝试使用来自ac#winform应用程序的wininet在客户端创建一个cookie。 所以我用这个代码: [DllImport(“wininet.dll”, CharSet = CharSet.Auto, SetLastError = true)] public static extern bool InternetSetCookie ( string lpszUrlName, string lbszCookieName, string lpszCookieData ); private void btnRestaure_Click(object sender, EventArgs e) { try { var result = InternetSetCookie(“www.mydomain.com”, “MyCookie”, “value=helloworld”); } catch(Exception ex) { } } InternetSetCookie返回true,但我在Temporary Internet Files文件夹中找不到cookie。 任何线索?