1、首先在支付宝开发者平台上创建应用,并按照开发者平台上的步骤把SDK接入,配置环境(这些步骤支付宝开发者平台写的很清楚,下面我主要写一些开放平台没有,或者需要注意的地方)
成都创新互联公司致力于成都网站设计、做网站,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择成都创新互联公司,就选择了安全、稳定、美观的网站建设服务!
2、导入头文件 #import AlipaySDK/AlipaySDK.h (如果报错,则是缺少某些类库或者静态库和头文件路径没有设置好,请仔细查看并按照开放平台的步骤检查,或者看一下这个: )
3、iOS 8.0以下重写下面方法
4、iOS 9.0以上实现下面的方法(也就是说,如果app要兼容iOS 8.0以上,则步骤3和步骤4的方法都要实现)
5、发起支付
注意:为了支付完成后能成功返回app,需要在info.plist文件中设置URL scheme,并且这个值是唯一的(最好填写bundel id 或者开放平台上的app ID),详细步骤在支付宝开放平台的接入文档有
由于对某款app的租房信息的筛选条件不满意,所以爬取了它的api以便能够根据自己的需求进行筛选。根据自己的初级爬虫经验,为了防止app封禁我的ip,所以准备通过代理服务器去访问。
过程是相当纠结啊,尝试的太多,这里就只放结论了。
笔者使用的 URLSession ,初始化前配置 URLSessionConfiguration 对象的 connectionProxyDictionary 即可。
特别提醒: host 类型为 String , 而 port 类型为 Int .
ps:使用http时,需要添加ATS白名单
注: 两种代理方式貌似不能同时使用。不确定是因为我测试时上一秒代理还好好的,下一秒就挂了。
一般服务器对于爬虫是不欢迎的。真正的用户操作再快都需要一定的时间,而爬虫访问时间很短,因此相当规模的爬虫对服务器造成的负担就更大。所以服务器会对爬虫做检测,如果被抓到则可能被封掉ip或像本例一样返回其他网站。
针对检测,我们的做法就是要伪装成真正的用户。以笔者目前的理解有两点:
1. 修改请求头。通过Charles抓包可以看到一次请求的头部信息,对照修改
2. 设定访问延时。手速再快你也快不过自动运行的程序吧。
参考链接:
ps: 一个不错的爬虫学习系列
过程中遇到最多的就是1200错误码:无法与服务器建立安全连接。网上大多数意见是服务器SSL版本不够,因为iOS最低要求使用TLSv1.2的版本。对于更低一点的,就需要特别指定版本。( 由于我这里是代理字典https key用错了,才导致的1200。所以只能先在这mark一下 )
以下是网上给出的解决方法:
这是一个测试TLS的控制台命令:
nscurl --ats-diagnostics --verbose
这里能自动测试哪种key能通过,随便找个https的网站试一下吧。
附上 connectionProxyDictionary keys 参见 Table 3-7
全局变量的定义:var timer : Timer!
使用:timer=Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(self.textfieldNotification), userInfo: nil, repeats: true)
textfieldNotification是timer的方法名
销毁:如果像OC一样直接timer.invalidate()会崩溃,要用
guard let timer1 = self.timer
else{ return }
timer1.invalidate()
收录: