我的程序使用HTTP将文件放入远程主机。由于一些不可避免的原因,远程主机需要一些时间来确认数据传输的最后一个数据包。超时时间超过默认超时时间,根据我的经验,默认超时时间约为30秒。因此,我想使用以下代码将超时时间增加到5分钟:
DWORD dwTimeout= 300000; // 5 minutes
pFtpConnection->SetOption( // KB176420: this has no effect on some
INTERNET_OPTION_SEND_TIMEOUT, dwTimeout); // old versions of IE.
pFtpConnect
mono myfile.exe
System.DllNotFoundException: wininet.dll
at (wrapper managed-to-native) Multiple_Website_Viewer.Form1:InternetSetOption (intptr,int,intptr,int)
at Multiple_Website_Viewer.Form1.UseProxy (System.String strProxy) [0x00000] in <filename unknown>:0
at (wrapper remoting-invok
我使用的是windows7和IE9。我正在编写一个winforms应用程序(.net 4.0 & c#),它在另一个线程上运行代理服务器(使用TcpListener)。
在实例化主表单之前,我使用InternetSetOption设置代理并启动代理服务器。
我的代理设置代码与下面的代码非常相似:
然后我在IE中浏览了一个站点,IE没有连接到我的代理服务器。此外,IE tools --> internet options --> connection --> lan settings --> use a proxy server for your LAN复选框未选
我在Delphi中使用WinInet.h通过HTTP下载平均大小在30KB到1.5MB之间的文件。
var
Buf: array[0..BUFFER_SIZE - 1] of Byte;
while BOOL(InternetReadFile(hUrl, @Buf, SizeOf(Buf), BytesRead)) and (BytesRead > 0) do
if Terminated then
Exit
else
begin
FStream.WriteBuffer(Buf, BytesRead);
Synchronize(UpdateProgress);
以编程方式与web进行通信不是我的专长,但我通过从在线找到的示例中剪切和粘贴代码,成功地实现了一个read_web_page()函数,而且该代码每天都没有错误地工作了好几个月。
就这样,我的主要窗口--10个人电脑在工作中发生故障,在等待修理时,我不得不在家里运行windows-7 PC的(同样的)代码。
但现在我出现了一个我从未见过的错误。我称之为以下代码(简化):
// code to handle bad return values from the following three functions ommitted...
HINTERNET hsession = W