怎样使用TWebBrowser控件通过代理服务器访问网站(200分)

  • 主题发起人 主题发起人 eyougu_bo
  • 开始时间 开始时间
E

eyougu_bo

Unregistered / Unconfirmed
GUEST, unregistred user!
想用DELPHI写一个浏览器程序,但当遇到需要代理才能访问的网站时,就不能继续工作了,

所以在这里想请问各位大虾,能帮忙解决这个问题。送上大洋!!!!!
 
用indy控件(可以设置代理),直接可以获取网页上的源文件,剩下的就是自己处理了
 
TWebBrowser使用的是IE的代理设置,所以你只要设置IE的代理服务器就可以了。
 
在什么的方可以找到indy控件。
一个过客:我要在程序中设置,应该怎么办
 
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings
改注册表总应该会了把。
 
改注册表,好象不能使TWebBrowser控件马上生效的。
 
利用 INTERNET_OPTION_PROXY 及 INTERNET_OPTION_SETTINGS_CHANGED 兩函數。
不需改註冊表。


procedure TForm1.ProxyComboBox1Exit(Sender: TObject);
var
inf:INTERNET_PROXY_INFO;

len:DWord;

s:string;
begin
ServerDir1Exit(Sender);

s:=ProxyComboBox1.text;

if trim(s)<>'' then
begin
inf.dwAccessType:=INTERNET_OPEN_TYPE_PROXY;
inf.lpszProxy:=pchar(s);
inf.lpszProxyBypass:=nil;

len:=sizeof(inf);

InternetSetOption(nil, INTERNET_OPTION_PROXY, @inf, len);
InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
end else
begin
inf.dwAccessType:=INTERNET_OPEN_TYPE_DIRECT;
inf.lpszProxy:=nil;
inf.lpszProxyBypass:=nil;

len:=sizeof(inf);

InternetSetOption(nil, INTERNET_OPTION_PROXY, @inf, len);
InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
end;
end;
 
>>gen
 
D5下定义INTERNET_PROXY_INFO需要UNIT什么啊???
 
不好使!(是不是Windows 2000下不行?)
 
我在2K下测试成功!
 
honestman,你怎么弄的?
 
都COPY上去就可以啦!
 
可我试了,不好使呀? 我用Win2k
 
我也是 win2k 呀,你是哪裡出了問題??
 
jiichen 朋友,你这样设置不用设置代理服务器端口吗?我看你的代码都没有的
那INTERNET_PROXY_INFO也没有提供,我如果想要设置PORT,应该怎样做呢?
 
后退
顶部