智连代理ip怎么设置
摘要:在中,格式是,所以需要把格式统一为注册表的标准。注册表的二进制值及关键信息如下开关长度地址是否跳过本地代理地址通过在中导入文件的方式执行并立即生效。本代码可以根据需要自动设置代理。
声明下:不同于网络上千百篇方法,下文是经过各种严格测试都通过的,同时也是一个实验的过程,排除了各种不靠谱的方法。有需要的可以评论来讨论,想要源码和相关参考文献或笔记的,也可以找我。
之前一直在用Python做爬虫抓取数据,发现本机IP的问题不解决,爬虫相当于白费了。然后各种百度,不管是用urllib2还是requests的代理设置,都不管用。然后又各种搜索Python更改windows代理的设置,还需要接触windos底层API,有复杂又不好实现。于是爬虫的学习就放弃了好长一段时间。
最近因为一直在用AutoHotkey大大加快电脑操作效率,各种快捷键和代替手动操作一些常规系统设置。突发奇想,想让它自动打开IE的Internet设置,然后自动点击“局域网设置”,在自动在代理框里输入IP地址,按回车完成设置。这真是个好主意~
不过失败了。。。因为AHK在IE设置弹出的框框中选择某一个输入框,很麻烦,我也没法实现。所以就在想另一个办法,因为AHK操作Windows的cmd命令很方便,所以在想能不能用它打开cmd然后用命令设置IE呢?
然后又各种百度。发现这是可以通过reg add注册表设置来实现的!于是,就开启了reg命令的百度之旅。
然后手动打开IE设置,发现里面的内容也确实改变了。然后再打开浏览器,打开IP查询的网址,自己的IP真的变了!
至此以为大功告成了。结果再用时,发现大错特错——再次用命令行改我指定的IP地址后,网页打不开了。。。
来回反复调试查错之后,我发现一个“大秘密”:如果不手动打开IE设置里的局域网设置窗口的话,所有代理设置是不生效的。这是为什么呢?
于是我就用英文到Stackoverflow去搜,结果发现实际影响本机代理的注册表项目并不是之前的那几个!(真怀疑网上那些人说自己用这个项达到定时设置代理的人是不是玩真的。。。)
其中的DefaultConnectionSettings才是真正需要改的东西。打开以后各种乱码,原来是二进制值。
那怎么办呢?AHK可不会操作二进制,也没什么方法能用reg add命令行直接把二进制值注入。然后又进入无尽的百度模式。
然后导出了下试试,发现是个.reg文件。然后无聊双击一下,发现可以把这个文件导入到注册表!于是灵光一闪,赶紧用文本编辑器打开这个.reg文件,发现里面是文字画的十六进制码,类似这样的:
用Python组成一段有效的二进制码(其实是十六进制) ->
把注册表值封装为reg文件 ->
通过命令行的reg import命令导入reg文件 ->
成功!
接着开始尝试对照着那段二进制值看一看。于是我把这段十六进制码做成PDF,方便做笔记,大概是这样的:
实际的十六进制值果然和网上的不同。经过实验,后面一大段画删除线的,都是没用的,删除也没关系。实际上,它只有在你手动打开IE设置面板时,才自动加上的。不管它,实际上有用的十六进制并不长。总结下也就这么几位:
其中,通过规律发现每个信息的分隔符是三个00,即00 00 00。上面有7个00的,因为没什么用我就不讲了(其实第四个代表自增数,直接为00就好了)
开关(switcher): 主要代表IE设置中复选框的选中情况,你可以打开IE设置看看。以下是所有可用的值(括号中是我用的别名):
IP长度:必须是十六进制的,0就是00,7就是07,10就是0a,11是0b。在Python中,格式是0xa,所以需要把格式统一为注册表的标准。
IP地址:直接把IP安装每个字符转十六进制就好了。如果IP为空的线。这时会看到switcher后面跟了11个00。。。
是否跳过本地代理:这段有点复杂,实际上我们几乎不用。如果不用的线就好了。但是用的话,就必须写为:附加信息长度00 00 00 附加信息这样的。
剩下的就是把你需要的代理IP地址和PAC地址作为参数传进去就好了。然后把这段值封装到reg文件中的对应位置就完全ok了~这步太简单,就不用多说了。
这一步可能也就写了几分钟,让AHK直接带参数打开python脚本就做到了。比如设置一个代理IP地址:
当然,我的AHK脚本实现的功能比这个还要爽快——弹出一个小输入框,直接粘贴一个ip地址,按回车就能实现代理设置。
直接官网下载安装一个Autohotkey软件,也就几M。然后呢,新建一个文本文件,把下面内容粘贴进去。把文件名后缀改为.ahk,然后双击就启动了脚本哈哈!
下面的代码是处理过的,实际上这个按键远比它要方便的多:它是我的快速操作杀手锏,一条命令实现巨多功能。如有感兴趣的可以联系我讨论,或者看我的下一篇专门针对AHK的文章(如果我不犯懒写了的话)。
我设定的指令是proxy ??这样的,如果嫌长或者不方便,可以改为别的自己用着舒服的。甚至不用弹出框,直接按一下F1之类的就完成设置都可以。不过这就需要稍微了解下AHK语法啦~(也不难)
摘要:通过本文的学习,可以快速掌握网络爬虫基础,结合实战练习,写出一些简单的爬虫项目。从技术手段来说,网络爬虫有多种实现方案,如。二网络爬虫技术基础在本次课中,将使用技术手段进行项目的编写。 摘要:本文详细讲解了python网络爬虫,并介绍抓包分析等技术,实战训练三个网络爬虫案例,并简单补充了常见的反爬策略与反爬攻克手段。通过本文的学习,可以快速掌握网络爬虫基础,结合实战练习,写出一些简单的...
摘要:代码参考了这里上文对各种系统无法输出奇葩编码的字符做了总结,本文中只针对下编码但想执行编码的文件进行修改。这样就实现了下和下兼容了当然如果不知道原来是什么编码,但想转成编码的话,将上面的条件删掉即可。 代码参考了这里:上文对各种系统无法输出奇葩编码的字符做了总结,本文中只针对windows cmd下GBK编码(cp936...
摘要:终极目标问题描述首先声明,这是一次失败的编译经历,仅供参考,欢迎讨论。近期发现是一个很棒的编辑器,简洁高效。所以,毅然决然,自己从源码编译一个。首先运行上面目录树中的。我猜想这可能和我的失败有关。设置为,编译结果是,则代表。 终极目标 VIM = Python multi-version IDE 问题描述 首先声明,这是一次失败的编译经历,仅供参考,欢迎讨论。 近期发现VIM是一个很棒...
摘要:终极目标问题描述首先声明,这是一次失败的编译经历,仅供参考,欢迎讨论。近期发现是一个很棒的编辑器,简洁高效。所以,毅然决然,自己从源码编译一个。首先运行上面目录树中的。我猜想这可能和我的失败有关。设置为,编译结果是智连代理ip怎么设置,则代表。 终极目标 VIM = Python multi-version IDE 问题描述 首先声明,这是一次失败的编译经历,仅供参考,欢迎讨论。 近期发现VIM是一个很棒...
UCloud (优刻得科技股份有限公司)是中立、安全的云计算服务平台,坚持中立,不涉足客户业务领域。公司自主研发IaaS、PaaS、大数据流通平台、AI服务平台等一系列云计算产品,并深入了解互联网、传统企业在不同场景下的业务需求,提供公有云、混合云、私有云、专有云在内的综合性行业解决方案。