开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 8694|回复: 7
收起左侧

[已回应] 【精易模块】网页 _访问支持socks4代理

[复制链接]
结帖率:88% (7/8)
发表于 2021-8-5 20:08:40 | 显示全部楼层 |阅读模式   福建省南平市
RM_WAI_NF4WVDVMR99Q.png

如图,这是网页访问设置代理的部分
只要把内容中的"http="修改为"socks="就可以使用socks4的代理了


  
子程序名返回值类型公开备 注
网页_访问字节集 使用WinInet的API方式访问网页
参数名类 型参考可空数组备 注
网址文本型完整的网页地址,必须包含http://或者https://
访问方式整数型0=GET 1=POST 2=HEAD 3=PUT  4=OPTIONS  5=DELETE  6=TRACE  7=CONNECT
提交信息文本型POST专用
提交Cookies文本型设置提交时的cookie
返回Cookies文本型返回的Cookie
附加协议头文本型一行一个请用换行符隔开,建议填写常量值或文本值,防止因传参引发错误
返回协议头文本型返回的协议头
禁止重定向逻辑型默认不禁止网页重定向
字节集提交字节集提交字节集数据
代理地址文本型代理地址,格式为:ip:port,例如:8.8.8.8:88
代理类型逻辑型设置代理类型,假为http(s)代理,真为socks4代理
是否自动合并更新Cookie逻辑型默认为真,自动合并更新
是否补全必要协议头逻辑型当附件协议头为空时自动添加必要的UA协议头 默认为真,假将不再添加非传入协议头
是否处理协议头大小写逻辑型将协议头中的键名首字母处理为大写  默认为真
变量名类 型静态数组备 注
局_Internet句柄整数型 
局_Internet连接句柄整数型 
局_HTTP请求句柄整数型 
局_计次整数型 
局_字节集字节集 
局_访问方式文本型 
局_User_Agent文本型 
局_返回协议头文本型0
局_页面内容字节集 
局_请求标记整数型 
局_重定向地址文本型 
局_HTTPS逻辑型 
bAutoDecode整数型 
局_附加协议头文本型 
如果真 (是否为空 (是否自动合并更新Cookie))
是否自动合并更新Cookie = 真

如果真 (是否为空 (是否补全必要协议头))
是否补全必要协议头 = 真

如果真 (是否为空 (是否处理协议头大小写))
是否处理协议头大小写 = 真

局_附加协议头 = 附加协议头
如果真 (是否处理协议头大小写)
局_附加协议头 = 网页_处理协议头 (局_附加协议头)

' 局_访问方式 = 选择 (访问方式 = 1, “POST”, “GET”)
如果真 (访问方式 < 0 访问方式 > 7)
访问方式 = 0
局_访问方式 = 多项选择 (访问方式 + 1, “GET”, “POST”, “HEAD”, “PUT”, “OPTIONS”, “DELETE”, “TRACE”, “CONNECT”)
如果真 (到小写 (取文本左边 (网址, 8)) = “https://”)
局_HTTPS = 真

判断 (寻找文本 (局_附加协议头, “User-Agent:”, , ) ≠ -1)
局_User_Agent = 删首尾空 (文本_取出中间文本 (局_附加协议头 + #换行符, “User-Agent:”, #换行符, , ))
如果真 (局_User_Agent = “”)
局_User_Agent = 内部_协议头取值 (局_附加协议头)

局_User_Agent = “Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)”

判断 (代理地址 = “”)
局_Internet句柄 = InternetOpenA (局_User_Agent, 1, 字符 (0), 字符 (0), 0)
判断 (局_HTTPS)  ' 用于解决win7下https协议代理无效问题
局_Internet句柄 = InternetOpenA (局_User_Agent, 3, 代理地址, “”, 0)
如果 (代理类型)
局_Internet句柄 = InternetOpenA (局_User_Agent, 3, “SOCKS=” + 代理地址, “”, 0)
局_Internet句柄 = InternetOpenA (局_User_Agent, 3, “http=” + 代理地址, “”, 0)



如果真 (局_Internet句柄 = 0)
' InternetCloseHandle (局_Internet句柄)
返回 ({  })
局_Internet连接句柄 = InternetConnectA (局_Internet句柄, 网页_取域名 (网址), 网页_取端口 (网址), 字符 (0), 字符 (0), 3, 0, 0)
如果真 (局_Internet连接句柄 = 0)
' InternetCloseHandle (局_Internet连接句柄)
InternetCloseHandle (局_Internet句柄)
返回 ({  })

局_请求标记 = 位或 ( #INTERNET_FLAG_RELOAD, #INTERNET_COOKIE_THIRD_PARTY )
如果真 (取反 (是否为空 (提交Cookies)))
局_请求标记 = 位或 (局_请求标记, #INTERNET_FLAG_NO_COOKIES )

如果真 (禁止重定向)
局_请求标记 = 位或 (局_请求标记, #INTERNET_FLAG_NO_AUTO_REDIRECT )

判断 (局_HTTPS)
局_请求标记 = 位或 (局_请求标记, #INTERNET_FLAG_SECURE )
局_请求标记 = 位或 (局_请求标记, #INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS )

局_HTTP请求句柄 = HttpOpenRequestA (局_Internet连接句柄, 局_访问方式, 网页_取页面地址 (网址), “HTTP/1.1”, 字符 (0), 字符 (0), 局_请求标记, 0)
如果真 (局_HTTP请求句柄 = 0)
' InternetCloseHandle (局_HTTP请求句柄)
InternetCloseHandle (局_Internet连接句柄)
InternetCloseHandle (局_Internet句柄)
返回 ({  })

InternetSetOption (局_HTTP请求句柄, #INTERNET_OPTION_SECURITY_FLAGS, 127872, 4)
如果真 (是否补全必要协议头)
如果真 (局_附加协议头 = “”)
局_附加协议头 = “Accept: */*”

如果真 (寻找文本 (局_附加协议头, “Accept:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Accept: */*”

如果真 (寻找文本 (局_附加协议头, “Referer:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Referer: ” + 网址

如果真 (寻找文本 (局_附加协议头, “Accept-Language:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Accept-Language: zh-cn”

如果真 (访问方式 = 1)
如果真 (寻找文本 (局_附加协议头, “Content-Type:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Content-Type: application/x-www-form-urlencoded”



如果真 (提交Cookies ≠ “”)
判断 (寻找文本 (提交Cookies, “Cookie:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Cookie: ” + 提交Cookies
局_附加协议头 = 局_附加协议头 + #换行符 + 提交Cookies


' 在Vista之后  可以自动解压Gzip
' bAutoDecode = 1
' InternetSetOptionA_传址 (局_HTTP请求句柄, #INTERNET_OPTION_HTTP_DECODING, bAutoDecode, 4)
判断 (访问方式 = 0)
HttpSendRequestA (局_HTTP请求句柄, 局_附加协议头, 取文本长度 (局_附加协议头), 0, 0)
如果真 (字节集提交 = {  })
字节集提交 = 到字节集 (提交信息)
HttpSendRequestA (局_HTTP请求句柄, 局_附加协议头, 取文本长度 (局_附加协议头), 取指针字节集_ (字节集提交), 取字节集长度 (字节集提交))

局_计次 = 0
局_字节集 = 取空白字节集 (1024)
循环判断首 ()
InternetReadFile (局_HTTP请求句柄, 局_字节集, 1024, 局_计次)
局_页面内容 = 局_页面内容 + 取字节集左边 (局_字节集, 局_计次)
循环判断尾 (局_计次 ≠ 0)
返回协议头 = 取空白文本 (5000)
HttpQueryInfoA (局_HTTP请求句柄, 22, 返回协议头, 5000, 0)
' 返回协议头 = 子文本替换 (返回协议头, “Set-Cookie”, “Set-Cookie”, , , )
InternetCloseHandle (局_HTTP请求句柄)
InternetCloseHandle (局_Internet连接句柄)
InternetCloseHandle (局_Internet句柄)
局_返回协议头 = 分割文本 (返回协议头, #换行符, )
返回Cookies = “”
计次循环首 (取数组成员数 (局_返回协议头), 局_计次)
如果真 (文本_取左边 (局_返回协议头 [局_计次], “: ”)“Set-Cookie”)
判断 (寻找文本 (局_返回协议头 [局_计次], “;”, , ) ≠ -1)
返回Cookies = 返回Cookies + 删首尾空 (文本_取出中间文本 (局_返回协议头 [局_计次], “Set-Cookie:”, “;”)) + “; ”
返回Cookies = 返回Cookies + 删首尾空 (子文本替换 (局_返回协议头 [局_计次], “Set-Cookie:”, , , , )) + “; ”


计次循环尾 ()
返回Cookies = 取文本左边 (返回Cookies, 取文本长度 (返回Cookies) - 2)
如果真 (是否自动合并更新Cookie)
如果真 (取反 (是否为空 (提交Cookies)))
返回Cookies = 网页_Cookie合并更新 (提交Cookies, 返回Cookies)

返回 (局_页面内容)

附上我自己修改后的代码

评分

参与人数 3好评 +2 精币 +6 收起 理由
项目部004 + 1 + 5 支持开源~!感谢分享
被封禁言 + 1 支持开源~!感谢分享
960055311 + 1 感谢分享,很给力!~

查看全部评分

结帖率:100% (1/1)
发表于 2024-1-15 23:03:45 | 显示全部楼层   广东省广州市
怎么设置账号密码
回复 支持 反对

使用道具 举报

发表于 2023-11-15 13:22:45 | 显示全部楼层   浙江省湖州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:82% (9/11)

签到天数: 1 天

发表于 2023-3-13 23:49:25 | 显示全部楼层   湖北省武汉市
3333333333333333333
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 1 天

发表于 2022-9-27 18:59:47 | 显示全部楼层   河北省邢台市
要好好发挥发攻防
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
发表于 2022-3-11 17:22:05 | 显示全部楼层   福建省福州市
@镜之空 大佬,SOCKS5需要账号密码验证,怎么加入呢
回复 支持 反对

使用道具 举报

结帖率:55% (23/42)

签到天数: 3 天

发表于 2021-8-19 10:52:43 | 显示全部楼层   山东省淄博市
感谢前辈分享
回复 支持 反对

使用道具 举报

结帖率:88% (7/8)

签到天数: 1 天

 楼主| 发表于 2021-8-5 23:28:57 | 显示全部楼层   福建省南平市
貌似也能支持SOCKS5代理
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表