Delphi做的桌面软件,嵌入了浏览器,怎么给软件设置socks5代理

qq_42994433 2018-08-20 11:28:32
这句话是后来补上的:好像发错版块儿了 怎么换版块儿?

Delphi做的桌面软件,采集一个网站的数据,由于网站js太难,所以采用了嵌入浏览器的做法。现在有以下难点。

1、delphi里面嵌入webbrowser浏览器,怎样使用多线程?

2、我有带验证的socks5代理,怎样让webbrowser通过socks5代理ip来采集网站的数据?

3、如果以上两个问题都解决了,怎样在多线程里给每个webbrowser分配单独的socks5代理?
...全文
321 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsgzs2018 2019-04-15
  • 打赏
  • 举报
回复
var PIInfo: PInternetProxyInfo; begin New(PIInfo); PIInfo^.dwAccessType := INTERNET_OPEN_TYPE_PROXY; //PIInfo^.lpszProxy := PChar('socks=111.210.140.11:1080'); PIInfo^.lpszProxy := PChar(Concat('http=', Edit1.Text)); PIInfo^.lpszProxyBypass := PChar(''); UrlMkSetSessionOption(INTERNET_OPTION_PROXY, piinfo, SizeOf(Internet_Proxy_Info), 0); Dispose(PIInfo); WebBrowser1.Navigate('http://www.123cha.com'); end; 以上代码测试通过的。webbrowser使用SOCKS5代理。 当然,还有更好的办法,如HOOK API,LSP劫持,还有更底层的驱动拦截转发SOCKS5等。这些可以实现每个进程不同IP。
qq_42994433 2018-08-29
  • 打赏
  • 举报
回复
大神啊 出现吧 真的不知道要怎么解决了!!!
天行归来 2018-08-21
  • 打赏
  • 举报
回复
嵌入浏览器,是为了解决复杂 IdHttp不好实现 登录问题?
你可以把浏览器cookie信息提取出来,设置到idhttp客户端里,然后多线程执行相应请求。
(Idhttp也一样可以设置代理)。
qq_42994433 2018-08-21
  • 打赏
  • 举报
回复
引用 3 楼 lynmison 的回复:
嵌入浏览器,是为了解决复杂 IdHttp不好实现 登录问题?
你可以把浏览器cookie信息提取出来,设置到idhttp客户端里,然后多线程执行相应请求。
(Idhttp也一样可以设置代理)。


嵌入浏览器 是因为目标网站cookie是加密的,而且是每一步都会有加密。这种应该不适合使用idhttp的吧。
qq_42994433 2018-08-20
  • 打赏
  • 举报
回复
自己顶一顶,在线等,有见过类似问题的大牛,也可以发我链接看一下。
qq_42994433 2018-08-20
  • 打赏
  • 举报
回复
分不太多,能解决问题一定加分!!

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧