Tag: 代理

如何在.NET中正确处理代理

我有一个用C#编写的Excel AddIn,它连接到服务器,通过httpwebrequest获取数据 一个客户端的代理设置“使用自动configuration脚本”选中,它使用了一些脚本。 在这种情况下,我的插件无法连接到服务器。 所以我打开小提琴来检查它为什么失败。 然后我的插件开始工作。 我检查代理设置与提琴手打开,看,它被改为“使用代理服务器为您的局域网” 我想在我的代码中做同样的事情,使用IE设置的代理设置,并在我的代码中使用它。 你知道如何做到这一点? 我现在所拥有的是如下,不起作用。 谢谢 private static void SetProxyIfNeeded(HttpWebRequest request, Uri uri) { var stopWatch = new Stopwatch(); stopWatch.Start(); if (_proxy == null) { _proxyUri = WebRequest.GetSystemWebProxy().GetProxy(uri); _proxy = new WebProxy(_proxyUri, true) { Credentials = CredentialCache.DefaultNetworkCredentials }; if (_proxyUri != null && !string.IsNullOrEmpty(_proxyUri.AbsoluteUri) && !_proxy.Address.Equals(uri) && !IsLocalHost(_proxy)) { _realProxy […]

Clojure代理追加到excel文件

我一直在使用docjure写入excel文件。 大多数情况下,我想追加行已经存在的文件,通常一次一个。 当我这样做没有代理/将来,我加载文件,使用添加行来添加数据,然后重写这样的文件: (defn append [filename data] "data is in the same format as create-workbook, ie [[\"n\" \"m\"] [1 2] [3 4]]" (let [workbook (load-workbook filename)) sheet (select-sheet workbook "Sheet1")] (add-rows! sheet data) (save-workbook! filename workbook))) 我打了很多电话追加,所以我发现这个: http : //blakesmith.me/2012/05/25/understanding-clojure-concurrency-part-2.html ,它显示了如何使用代理写入一个使用未来的文件。 首先,我使用的FileOutputStream而不是FileWriter,它仍然会工作,除非在教程的例子中,你只是将string追加到文件的末尾使用.write然后closures,我需要重写文件,每次我“append”(我认为?),因为在.xlsx工作簿中的字节数多于字符数。 我不知道如何设置这个,因为在教程的日志logging示例中,write-out返回BufferedWriter的更新实例,我不知道这将是什么。 我的另一个select是将数据同时添加到vector(加载文件一次,并保持返回新vector[[\“n \”\“m \”] [1 2] [3 4]])但是我打算做这些电话的10000-100000个,这似乎很多跟踪…虽然要公平地阅读和写许多次的数据可能不是那么好。 如果您对我如何做到这一点有什么build议,我会很感激。 如果有更好的方法来追加,我也愿意打电话给Apache POI本身。 谢谢。 — […]

使用默认凭据通过代理从Excel中获取http请求

我想从一个网站(某种types的webrequest),从Excel中获取数据,只有问题我坐在代理后面,我不想硬编码的用户名和密码。 有没有办法获得默认的代理服务器,并设置当前用户的凭据,而不用硬编码? 换句话说:我想用代理与当前loginWindows机器的用户进行身份validation。 这是相关的代码: Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0") URL = "http://stackoverflow.com/" objHTTP.Open "GET", URL, False 'If possible i would like to get the default proxysettings objHTTP.setProxy 2, "proxy:8282" 'I dont wont to set this line objHTTP.setProxyCredentials "username", "password" objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" objHTTP.send ("") 我GOOGLE了,但我可以find一个明确的否,或一个替代解决scheme。 它应该在Windows环境下运行。 任何帮助和/或提示将不胜感激。

MS Excel和COM托pipe的C#2委托中exception的行为

大家早, 这里的语言理论问题的位…我已经在网上发现了一些参考文献,提示C#中的exception处理和委托在某些情况下有一些不同的行为,但是我找不到关于这个问题的具体文档。 我们最近有一些大的问题,例如在一个Microsoft Excel插件的委托内,导致MSVC运行时崩溃。 删除代表解决了这个,但我现在好奇,找出血淋淋的细节。 作为核心代码的简要例子: Delegate del; // initialized elsewhere try { del.DynamicInvoke(); } catch(Exception e) { /* Parsing of exception to generate user-friendly message here */ } 上面的构造允许一个集中的error handlingforms,从纯粹的代码angular度来看是简洁明了的。 每个公开公开的函数都被声明为一个委托并通过上面的片段执行。 在一个简单的控制台应用程序中,从委托抛出一个exception或只是一个普通的意外错误(例如,“意外地”调用空指针上的ToString())按预期方式工作,并按照需要处理错误。 抛出MS Excel,你会遇到硬崩溃。 单步执行代码会显示错误发生的位置,但是没有任何堆栈展开的情况发生在一个破坏的大火球中的任何事情发生之前。 我的假设是,承载.NET运行时(以及我们的代码)的COM正在做一些与正常的.NET代码执行不同的事情。 这终止了终点,而Excel并不知道这一点,而这又反过来试图通过COM来访问终点,只是发现它已经消失了,而Excel却不知所措。 这只会发生在Excel + COM +代表的组合中,但是我并不真诚地知道哪一个在这个行为中更有影响力……任何想法?

使用WinHTTP和Excelconfiguration代理

我正在使用WinHTTP在Excel VBAmacros中执行GET请求。 但是,如果我尝试使用代理服务器在networking中执行请求,则不起作用。 如果我手动configuration它,它可以工作,但我不认为将使用我正在开发的工具的人会知道他们的代理服务器。 有没有办法自动configuration代理服务器,或从Windows获取代理configuration? 这里有一个示例代码: Dim result As String Dim URL As String Dim winHttpReq As Object Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1") URL = "http://google.com/" winHttpReq.Open "GET", URL, False winHttpReq.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" winHttpReq.setProxy 2, "proxyserver:8080", "" winHttpReq.send result = winHttpReq.responseText 在这种情况下,我不想强​​制用户find“proxyserver:8080”地址 – 我想要的是自动填充的方法。 非常感谢。