ZBNetworking icon indicating copy to clipboard operation
ZBNetworking copied to clipboard

你好,支持挂代理吗?

Open PPLLock opened this issue 1 year ago • 16 comments

PPLLock avatar Sep 15 '22 06:09 PPLLock

使用ip 代理服务器访问网络? @PPLLock

Suzhibin avatar Sep 16 '22 02:09 Suzhibin

对,是的

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Andi @.> 发送时间: 2022年9月16日 10:06 收件人: Suzhibin/ZBNetworking @.> 抄送: PPLLock @.>, Mention @.> 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

PPLLock avatar Sep 16 '22 02:09 PPLLock

我查了下 基本上都使用 NSURLSessionConfiguration 的 requestCachePolicy 进行配置,这个与我的请求库配置冲突。我这有另外一个解决方案,你可以试试看能否解决你的需求,我更新了代码,你重新下载,然后在demo实验下 app启动时 会调用 插件方法setRequestProcessHandler,你可以在RequestTool类中进行配置,所有的网络请求 都会经过这个插件 //预处理 请求插件 [ZBRequestManager setRequestProcessHandler:^(ZBURLRequest * _Nullable request, id _Nullable __autoreleasing * _Nullable setObject) { request.server=@"http://192.168.1:1";//使用ip 代替请求地址 }]; 在请求配置时使用 server和path组合 [ZBRequestManager requestWithConfig:^(ZBURLRequest *request){ request.server=url_server; request.path=url_path; } @PPLLock

Suzhibin avatar Sep 16 '22 07:09 Suzhibin

非常抱歉再次麻烦你,我这里的需求现在是这样的,先请求原始地址,如果请求失败再使用代理服务器(IP+端口)请求,这样该怎么处理比较好

------------------ 原始邮件 ------------------ 发件人: "Suzhibin/ZBNetworking" @.>; 发送时间: 2022年9月16日(星期五) 下午3:07 @.>; @.@.>; 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

我查了下 基本上都使用 NSURLSessionConfiguration 的 requestCachePolicy 进行配置,这个与我的请求库配置冲突。我这有另外一个解决方案,你可以试试看能否解决你的需求,我更新了代码,你重新下载,然后在demo实验下 app启动时 会调用 插件方法setRequestProcessHandler,你可以在RequestTool类中进行配置,所有的网络请求 都会经过这个插件 //预处理 请求插件 [ZBRequestManager setRequestProcessHandler:^(ZBURLRequest * _Nullable request, id _Nullable __autoreleasing * _Nullable setObject) { request.server=@"http://192.168.1:1";//使用ip 代替请求地址 }]; 在请求配置时使用 server和path组合 [ZBRequestManager requestWithConfig:^(ZBURLRequest *request){ request.server=url_server; request.path=url_path; } @PPLLock

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

PPLLock avatar Sep 16 '22 07:09 PPLLock

不客气,反馈对我也是提高。我又更新了代码,你更新下,支持请求失败重新配置 请求对象了 你需要在两个方法设置 1 公共配置 setupBaseConfig 内设置重连次数 2 失败插件 setErrorProcessHandler 内重设 request.server [ZBRequestManager setupBaseConfig:^(ZBConfig * _Nullable config) { config.retryCount=1; }]; [ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1"; }]; @PPLLock

Suzhibin avatar Sep 16 '22 08:09 Suzhibin

太好了👌感谢

------------------ 原始邮件 ------------------ 发件人: "Suzhibin/ZBNetworking" @.>; 发送时间: 2022年9月16日(星期五) 下午4:22 @.>; @.@.>; 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

不客气,反馈对我也是提高。我又更新了代码,你更新下,支持请求失败重新配置 请求对象了 你需要在两个方法设置 1 公共配置 setupBaseConfig 内设置重连次数 2 失败插件 setErrorProcessHandler 内重设 request.server [ZBRequestManager setupBaseConfig:^(ZBConfig * _Nullable config) { config.retryCount=1; }]; [ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1"; }]; @PPLLock

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

PPLLock avatar Sep 16 '22 08:09 PPLLock

您好,非常抱歉再次打扰你,我是否可以设置一个开关,打开走代理,关闭不走代理,这样要怎么去调整比较好

------------------ 原始邮件 ------------------ 发件人: "Suzhibin/ZBNetworking" @.>; 发送时间: 2022年9月16日(星期五) 下午3:07 @.>; @.@.>; 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

我查了下 基本上都使用 NSURLSessionConfiguration 的 requestCachePolicy 进行配置,这个与我的请求库配置冲突。我这有另外一个解决方案,你可以试试看能否解决你的需求,我更新了代码,你重新下载,然后在demo实验下 app启动时 会调用 插件方法setRequestProcessHandler,你可以在RequestTool类中进行配置,所有的网络请求 都会经过这个插件 //预处理 请求插件 [ZBRequestManager setRequestProcessHandler:^(ZBURLRequest * _Nullable request, id _Nullable __autoreleasing * _Nullable setObject) { request.server=@"http://192.168.1:1";//使用ip 代替请求地址 }]; 在请求配置时使用 server和path组合 [ZBRequestManager requestWithConfig:^(ZBURLRequest *request){ request.server=url_server; request.path=url_path; } @PPLLock

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

PPLLock avatar Sep 16 '22 10:09 PPLLock

我们这个代理服务器一个iP和一个端口,[ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1"; }];这里server是设置ip, 端口那需要在哪里设置?

------------------ 原始邮件 ------------------ 发件人: "Suzhibin/ZBNetworking" @.>; 发送时间: 2022年9月16日(星期五) 下午4:22 @.>; @.@.>; 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

不客气,反馈对我也是提高。我又更新了代码,你更新下,支持请求失败重新配置 请求对象了 你需要在两个方法设置 1 公共配置 setupBaseConfig 内设置重连次数 2 失败插件 setErrorProcessHandler 内重设 request.server [ZBRequestManager setupBaseConfig:^(ZBConfig * _Nullable config) { config.retryCount=1; }]; [ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1"; }]; @PPLLock

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

PPLLock avatar Sep 16 '22 10:09 PPLLock

端口拼在ip后面 比如 http://192.168.1.1:5000 开关需要 你自己维护,比如你工程有单例吧,设置一个BOOL值,在setErrorProcessHandler方法内 用该值判断是否需要使用ip,开关方法改动BOOL值即可 @PPLLock

Suzhibin avatar Sep 16 '22 13:09 Suzhibin

好的👌🏻了解了,感谢兄弟,我上一个问题帮忙再看看,感激不尽,我的这个问题如果有空也帮忙看看

您好,非常抱歉周末还要再打扰你,是这样,我有点搞不懂这代理服务在iOS这边具体到api请求是什么去操作,比如我要访问的一个链接url是一个这样的:https://www.kankezw.com/du/2/2021/8445312.html, 之前不考虑走代理服务器的情况,我是直接设置request.url=@"https://www.kankezw.com/du/2/2021/8445312.html", 现在加了代理,那这个request.url该如何去设置,还是保持不变,只是在插件这里设置request.server=@"ip:port" 这样吗? [ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1:8080"; }];

------------------ 原始邮件 ------------------ 发件人: "Suzhibin/ZBNetworking" @.>; 发送时间: 2022年9月16日(星期五) 晚上9:00 @.>; @.@.>; 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

端口拼在ip后面 比如 http://192.168.1.1:5000 开关需要 你自己维护,比如你工程有单例吧,设置一个BOOL值,在setErrorProcessHandler方法内 用该值判断是否需要使用ip,开关方法改动BOOL值即可 @PPLLock

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

PPLLock avatar Sep 17 '22 13:09 PPLLock

在请求时使用 server和path组合 不要使用request.url [ZBRequestManager requestWithConfig:^(ZBURLRequest *request){ request.server=@"https://www.kankezw.com"; request.path=@"/du/2/2021/8445312.html"; } [ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1:8080"; }]; @PPLLock

Suzhibin avatar Sep 17 '22 13:09 Suzhibin

好的,这个就是我最不想采用的方案,因为我们目前项目中后台给的所有url都是全路径,而且涉及多个链接有分页都是全路径,如果要修改调整这里要改动的地方比较多,确实不太改,所以我才想到有没有其他更好的方法,现在目前都是这样在用request.url

------------------ 原始邮件 ------------------ 发件人: "Suzhibin/ZBNetworking" @.>; 发送时间: 2022年9月17日(星期六) 晚上9:38 @.>; @.@.>; 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

在请求时使用 server和path组合 不要使用request.url [ZBRequestManager requestWithConfig:^(ZBURLRequest *request){ request.server=@"https://www.kankezw.com"; request.path=@"/du/2/2021/8445312.html"; } [ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1:8080"; }]; @PPLLock

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

PPLLock avatar Sep 17 '22 13:09 PPLLock

要想ip替换 服务器,肯定要有所调整。其实还好,只是把服务器 和路径分开 赋值,这种操作还是很常见的。 @PPLLock

Suzhibin avatar Sep 17 '22 14:09 Suzhibin

好的👌🏻谢谢哈,我改一下

------------------ 原始邮件 ------------------ 发件人: "Suzhibin/ZBNetworking" @.>; 发送时间: 2022年9月17日(星期六) 晚上10:09 @.>; @.@.>; 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

要想ip替换 服务器,肯定要有所调整。其实还好,只是把服务器 和路径分开 赋值,这种操作还是很常见的。 @PPLLock

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

PPLLock avatar Sep 18 '22 14:09 PPLLock

好的👌太感谢了🤝🍵

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: Andi @.> 发送时间: 2022年9月16日 15:07 收件人: Suzhibin/ZBNetworking @.> 抄送: PPLLock @.>, Mention @.> 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

PPLLock avatar Oct 11 '22 07:10 PPLLock

您好,非常抱歉周末还要再打扰你,是这样,我有点搞不懂这代理服务在iOS这边具体到api请求是什么去操作,比如我要访问的一个链接url是一个这样的:https://www.kankezw.com/du/2/2021/8445312.html, 之前不考虑走代理服务器的情况,我是直接设置request.url=@"https://www.kankezw.com/du/2/2021/8445312.html", 现在加了代理,那这个request.url该如何去设置,还是保持不变,只是在插件这里设置request.server=@"ip:port" 这样吗? [ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1:8080"; }];

------------------ 原始邮件 ------------------ 发件人: "523439877" @.>; 发送时间: 2022年9月16日(星期五) 晚上6:50 @.>;

主题: 回复: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

我们这个代理服务器一个iP和一个端口,[ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1"; }];这里server是设置ip, 端口那需要在哪里设置?

------------------ 原始邮件 ------------------ 发件人: "Suzhibin/ZBNetworking" @.>; 发送时间: 2022年9月16日(星期五) 下午4:22 @.>; @.@.>; 主题: Re: [Suzhibin/ZBNetworking] 你好,支持挂代理吗? (Issue #22)

不客气,反馈对我也是提高。我又更新了代码,你更新下,支持请求失败重新配置 请求对象了 你需要在两个方法设置 1 公共配置 setupBaseConfig 内设置重连次数 2 失败插件 setErrorProcessHandler 内重设 request.server [ZBRequestManager setupBaseConfig:^(ZBConfig * _Nullable config) { config.retryCount=1; }]; [ZBRequestManager setErrorProcessHandler:^(ZBURLRequest * _Nullable request, NSError * _Nullable error) { request.server=@"192.168.1.1"; }]; @PPLLock

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

PPLLock avatar Oct 11 '22 08:10 PPLLock