首页   注册   登录
 stephenliubp 最近的时间轴更新

stephenliubp

iOS开发、web开发 | 95后 | 海贼王、龙珠 | 乒乓球 健身 | 杭州
V2EX 第 247718 号会员,加入于 2017-08-09 16:38:15 +08:00
今日活跃度排名 20149
Node 截取网站图片
  •  1   
    Node.js  •  stephenliubp  •  14 天前  •  最后回复来自 stephenliubp
    6
    Web 端反爬虫技术方案
    信息安全  •  stephenliubp  •  23 天前  •  最后回复来自 kevin1986
    5
    iOS 唯一标识符
    iDev  •  stephenliubp  •  98 天前  •  最后回复来自 stephenliubp
    5
    git 提交到 github 有问题
    GitHub  •  stephenliubp  •  80 天前  •  最后回复来自 jianpanxia
    4
    MWPhotoBrowser bug
    iOS  •  stephenliubp  •  255 天前  •  最后回复来自 stephenliubp
    3
    VSCode 求 Node.js 插件
    Node.js  •  stephenliubp  •  260 天前  •  最后回复来自 feichao
    7
    stephenliubp 最近回复了
    14 天前
    回复了 stephenliubp 创建的主题 Node.js Node 截取网站图片
    自己用 puppeteer 写了个 Demo。批量自动化截图并保存到文件 https://github.com/FantasticLBP/JS-KnowledgeKit/tree/master/Node/Snapshots
    19 天前
    回复了 stephenliubp 创建的主题 Node.js Node 截取网站图片
    @iLionel 非常感谢。有 2 个点想问一下。1 )、图片保存成功与否如何判断?因为想通过批量任务去做这个事情,像准确率高一点,做成串行,一张截取成功继续下一张。
    2 )、页面会不会因为 js 或者 css 没加载好导致截图会有问题?(估计不太会有这个问题吧,因为页面加载成功后你才截图的吧?)
    37 天前
    回复了 stephenliubp 创建的主题 信息安全 Web 端反爬虫技术方案
    @nmask 工作需要,自己研究了下而已啦。真正厉害且有丰富前端经验的爬虫工程师还是可以搞定的
    @hcymk2 看到不同也没啥用。观察给人的感觉就是字符串处理了。字符串处理肯定不行,找不到一个普适的准则
    @dorentus 我没有他代码,我的意思是给大家看看 iOS 的实现思路。让懂 Android 的人根据我这种写法想到 Android 对应的实现方法
    @Daniate 嗯,早期用这个,后来换成“ ssl 证书双向认证;数据 RSA 加密;接口防重放“。
    @AwayEM 数据 RSA 加密了
    数据安全方面给个推荐:Web 端: https://github.com/FantasticLBP/Anti-WebSpider。App 端:ssl 证书双向认证防止 抓包工具抓包;数据 RSA 加密;接口防重放
    63 天前
    回复了 stephenliubp 创建的主题 信息安全 Web 端反爬虫技术方案
    @aWangami 一个 iOSer 的瞎搞搞
    @snail1988 对,防止抓包,但是我写了 ssl-pinning 的代码测试过还是可以抓包的。

    ``` Objective-c

    + (AFSecurityPolicy*)customSecurityPolicy
    {
    NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"https12" ofType:@"cer"];
    NSData *certData = [NSData dataWithContentsOfFile:cerPath];
    AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
    securityPolicy.allowInvalidCertificates = NO;
    securityPolicy.validatesDomainName = YES;
    securityPolicy.pinnedCertificates = @[certData];

    return securityPolicy;
    }

    + (void)postUploadWithUrl:(NSString *)urlStr para:(NSDictionary *)para name:(NSString *)name fileData:(NSData *)fileData fileName:(NSString *)fileName fileType:(NSString *)fileType success:(void (^)(id responseObject))success fail:(void (^)(void))fail
    {

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.securityPolicy = [AFNetPackage customSecurityPolicy];
    [manager POST:urlStr parameters:para constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
    [formData appendPartWithFileData:fileData name:name fileName:fileName mimeType:fileType];
    } success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
    if (success) {
    success(responseObject);
    }
    } failure:^(NSURLSessionDataTask * _Nonnull task, NSError * _Nonnull error) {
    if (fail) {
    fail();
    }
    }];
    }
    ```
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   682 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 22ms · UTC 21:02 · PVG 05:02 · LAX 14:02 · JFK 17:02
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1