iOS开发 为app配置代理
由于对某款app的租房信息的筛选条件不满意,所以爬取了它的api以便能够根据自己的需求进行筛选。根据自己的初级爬虫经验,为了防止app封禁我的ip,所以准备通过代理服务器去访问。
过程是相当纠结啊,尝试的太多,这里就只放结论了。
笔者使用的 URLSession ,初始化前配置 URLSessionConfiguration 对象的 connectionProxyDictionary 即可。
特别提醒: host 类型为 String , 而 port 类型为 Int
ps:使用http时,需要添加ATS白名单
注: 两种代理方式貌似不能同时使用。不确定是因为我测试时上一秒代理还好好的,下一秒就挂了。
一般服务器对于爬虫是不欢迎的。真正的用户操作再快都需要一定的时间,而爬虫访问时间很短,因此相当规模的爬虫对服务器造成的负担就更大。所以服务器会对爬虫做检测,如果被抓到则可能被封掉ip或像本例一样返回其他网站。
针对检测,我们的做法就是要伪装成真正的用户。以笔者目前的理解有两点:
1 修改请求头。通过Charles抓包可以看到一次请求的头部信息,对照修改
2 设定访问延时。手速再快你也快不过自动运行的程序吧。
参考链接:
https://blogcsdnnet/c406495762/article/details/60137956
ps: 一个不错的爬虫学习系列
过程中遇到最多的就是1200错误码:无法与服务器建立安全连接。网上大多数意见是服务器SSL版本不够,因为iOS最低要求使用TLSv12的版本。对于更低一点的,就需要特别指定版本。( 由于我这里是代理字典https key用错了,才导致的1200。所以只能先在这mark一下 )
以下是网上给出的解决方法:
这是一个测试TLS的控制台命令:
nscurl --ats-diagnostics --verbose https://xxxxxxxxx
这里能自动测试哪种key能通过,随便找个https的网站试一下吧。
附上 connectionProxyDictionary keys 参见 Table 3-7
https://developerapplecom/library/content/documentation/Networking/Conceptual/SystemConfigFrameworks/SC_UnderstandSchema/SC_UnderstandSchemahtml
IPAD设置代理IP如下:
(1)在主屏幕上找到“设置”图标并打开它。
(2)进入设置列表里边,轻按选择“wi-Fi”按钮,然后,在右侧的网络列表下,轻按预设 IP 的网络后面的更多()”按钮。
(3)在网络设置当中,轻按切换到“静态”标签。
(4)在静态网络设置下,轻按“IP 地址”文本栏。
(5)然后,将准备好的“IP 地址”、“子网掩码”、“路由器”、“DNS”设置完成,即可返回网络列表,再行连接该网络。编者按:
设置 iPad 无线网络的 IP 地址,跟平常在使用的电脑设置 IP 地址差不多。可能因为使用的路由器不同,设置的 IP 地址有差异。如果只是一时忘记“子网掩码”与“DNS”的设置字段,那么,可以在获动态网络(DHCP)里边,记下之后,再进行设置静态网络。DNS可键入“2”也可以进行连接。
1,打开,浏览器,单击左上角的用户图标,在弹出菜单中点击“设置”。
2,跳出设置窗口,选择左侧菜单项中的“代理服务器”
3,在 “代理服务器设置” 中选择 “使用自定义代理”,点击添加。
4,在跳出窗口填写代理服务器信息,如图所示,填完然后单击确定。注意:142911737:80@HTTP 这是演示用的代理IP,其中142911737即为地址,80为端口,HTTP为类型,其中用户名和密码不用填。
5,添加成功,由于代理服务器里面只有这一个,所以被默认使用。如果含有多个代理服务器,则需要先选中要使用的服务器,再单击默认。
6,接下来就是测试是否成功啦。百度“ip”,在搜索结果中可以看到,本地ip已经变成了代理服务器ip。
7,设置代理成功。
很多使用苹果系统的用户想“出去看看”,不知道如何修改配置hosts,那么该如何修改呢我们需要安装最新版的iTunes。因为它包含了iOS设备的驱动程序,然后才能识别设备,具体的步骤下面一起来看看吧。
iPad等iOS设备配置修改hosts的方法
1、首先,我们需要安装最新版的iTunes。因为它包含了iOS设备的驱动程序,装了它,Windows才能正常识别设备。
2、然后,我们需要安装“同步助手”。暂不去纠结这个软件是不是盗版工具,它是目前最好用的iOS设备的资源管理器,我们这里只需要用到它的文件管理的功能。
3、进入文件管理界面,进入/etc目录,可以找到hosts文件
3、把它拖到桌面,就可以为所欲为了。修改完成之后,再拖回去替换原文件即可。
4、在修改过程中,唯一值得一提的恐怕就是换行符的格式了吧。本质上iOS是一个功能完备的UNIX系统,它的文本文件的换行符当然使用UNIX格式,与我们通常使用的DOS/Windows格式不一样。安全起见,建议你在保存文件的时候,留意换行符的格式。
这里介绍两种后备方案,也适用于无法修改hosts的其它移动设备
真实域名法
即注册一个真实的域名,解析到内网的开发/测试机。这实际上是一个变通的办法,它有一些显而易见的缺点:
需要花钱买域名。
可能需要更新服务器端的域名白名单——前端工程师往往没有这个权限。
域名解析通过外网DNS实现,比起hosts本地解析要慢一些。
代理法
在本地开发机上建一个代理服务器,让iOS设备通过代理服务器访问。这样域名解析这一步是在开发机完成的,只要把开发机的hosts配置好就可以了。
架设代理服务器并不复杂,有现成的方案,就是前端神器Fiddler(只需要选中“允许其它机器连接”选项就可以了),顺道还可以调试移动设备的HTTP连接。iOS设备端的配置也比较简单,这里就不赘述了
hosts文件相关问题
hosts文件位置在哪
Win10系统如何修改hosts文件
手机hosts文件位置在哪里
如何修改Android手机的Hosts文件
以上就是为您带来的iPad等iOS设备配置修改hosts的方法,希望可以解决掉您的困惑。
1、首先,要有一个http代理。
2、关闭,就是直连,不经过代理;手动,就是把代理设置进去,填写好http代理服务器的地址、端口(如果有需要,写帐号密码进去),这样所有的数据通信都会走http代理;自动,就是要配置pac文件,这样经过配置后,根据设定的,有些数据走代理,有些数据走直连。
QQ代理设置方法:
QQ代理有两个类型可以选择:SOCK5代理服务器和HTTP代理服务器。
(1)QQ登陆对话框中的设置
在QQ登陆界面点击网络设置→出现的下拉列表中选择你的需要的代理类型→地址:填上你收集的代理服务器IP(“形式的”)
→端口:填上你找到的代理服务器的端口参数→把用户和密码框填上代理服务器提供的用户名和密码(一般免费代理是没有用户名和密码的,
那么不用填)。
例如你收集 到的代理服务器是127001:80那么设置时地址填:127001,端口填80,注意没有前面的冒号。
好了现在基本设置好了,你可以测试一下你的代理服务器是否工作正常,
点击测试。假如出现“代理服务器正常”,则这个代理是可用的,正常就可以登陆你QQ了。假如出现“无法连接代理服务器”,则说明这个代
理不能使用,重新输入另外的代理参数,重新测试。
(2)QQ在运行时的代理设置
点击“菜单”→“系统设置”→“代理设置”
其设置与上面的设置一样,不过要使刚刚输入的参数生效,必须下线一次,再上线,这样才能改变QQ的传输状态,使代理生效。
二:IE浏览器的代理设置方法:
1。菜单→“工具”→““Internet选项(O)”。
2。选“连接”,单击“设置(S)” →““代理服务器”→““对此连接使用代理服务器”→填上HTTP的地址和端口。
3。如果有如FTP/SOCKS/HTTP等更齐全的代理数据,,可单击“高级(C)”,分别填入对应的代理数据。(这项一般都没有,用不着填)
4。现在差不多就OK了。。。。
0条评论