ifvsvg mieqq 所以我的意思是,在这种情况无法避免的情况下,surge可以做一下兼容。 就好像严格来讲 [[xx.xx.xx.xx.xx.xx.xx]]:9512 不是合法的ipv6地址, 但是mac linux windows 不约而同的兼容了这种ip地址
Patrick ifvsvg 不走代理根本就不会产生connect请求,根本不存在加括号这种字符串,用的是ipv6地址的二进制形式访问,所以不会出问题。你在windows下配个http代理,随便用什么代理服务器,一样翻车,而不是什么windows兼容了,没谁会去兼容,越专业的东西越不会去兼容这种错误。
mieqq ifvsvg 现在没有走代理服务器的情况下,[[xx.xx.xx.xx.xx.xx.xx]]:9512 请求能正常访问。 走了代理服务器的情况下,代理软件认为 这个IP是非法IP,进而报错了。 你理解错了,CONNECT [[fdbd:dc02:ff:1:9::c6]]:9512 HTTP/1.1 是应用连接代理构造的
ifvsvg mieqq 我知道啊。 现在我的应用, 在没有开启代理的情况下,请求 POST [[fdbd:dc02:ff:1:9::c6]]:9512 成功了 在开启代理的情况下,代理额外请求了一次 CONNECT [[fdbd:dc02:ff:1:9::c6]]:9512 报错了 是这么回事吧?
Patrick ifvsvg 网络知识基础不够就去系统的学,没谁欠你似得还非的给你解释清楚,就是看不惯你这种既搞不清情况还非要态度咄咄逼人非要给你解决的人。 最后义务劳动给你解释一次:不走代理时,socket连接用的是二进制数据结构体,ipv6地址不需要转换为字符串表示,也就根本不存在什么括号不括号的。走代理才需要把二进制地址转化为字符串,才触发了你那网络库里的bug。 你拿Surge增强模式开ipv6 vif接管,别用代理接管就不会遇到问题。
ifvsvg 我没有让你解释,是你上赶着来解析的。而且看的出来你的情绪很激动。 我是付费用户,我提出我的需求,作者也可以拒绝我的需求。你如果不是开发团队的人的话,冲过来扣帽子的行为有些奇怪。 我认为你的解释是错误的。 不开代理的情况下,我的程序访问 POST [[fdbd:dc02:ff:1:9::c6]]:9512,操作系统认为 [[fdbd:dc02:ff:1:9::c6]]这个IP地址不是一个合法的ipv6地址,但是它识别出经常有人写错,所以还是正确的解析出了 ip是 fdbd:dc02:ff:1:9::c6,然后访问成功了。 开了surge代理的情况下,Surge会在mac系统中注册http代理配置 127.0.0.1 的 6153端口 我的应用进程识别操作系统中surge注册了http代理,会发起connect 请求 127.0.0.1 的 6153端口 建立长链接。 CONNECT [[fdbd:dc02:ff:1:9::c6]]:9512 surge没有兼容这种不合法的ipv6写法,所以就报错了。 参考:https://www.jianshu.com/p/54357cdd4736 扣帽子之前请先把基础打好。 增强模式在我的场景下不行的原因是,我还同时开启了公司的VPN,如果再开启surge的增强模式,会导致路由表冲突。我在我的问题描述中已经说了。 不会答不要强行回答,更加不要趁机扣帽子。
ifvsvg null0x mac都可以兼容,为啥surge不能兼容? 不开代理的情况下,JAVA访问 POST [[fdbd:dc02:ff:1:9::c6]]:9512,操作系统认为 [[fdbd:dc02:ff:1:9::c6]]这个IP地址不是一个合法的ipv6地址,但是它识别出经常有人写错,所以还是正确的解析出了 ip是 fdbd:dc02:ff:1:9::c6,然后访问成功了。 开了surge代理的情况下,Surge会在mac系统中注册http代理配置 127.0.0.1 的 6153端口 JAVA识别操作系统中surge注册了http代理,会发起connect 请求 127.0.0.1 的 6153端口 建立长链接。 CONNECT [[fdbd:dc02:ff:1:9::c6]]:9512 surge没有兼容这种不合法的ipv6写法,所以就报错了。
mieqq ifvsvg 不开代理的情况下,JAVA访问 POST [[fdbd:dc02:ff:1:9::c6]]:9512,操作系统认为 [[fdbd:dc02:ff:1:9::c6]]这个IP地址不是一个合法的ipv6地址,但是它识别出经常有人写错,所以还是正确的解析出了 ip是 fdbd:dc02:ff:1:9::c6,然后访问成功了。 你可以只开增强模式,抓包看看是不是同样构造错了。不过作者都明确说不会兼容这种bug了,再说下去也没意义
ifvsvg JVM 的 GRPC类库在请求远端地址的时候,IPV6的地址是只有单括号的。 莫非是JDK在connect的时候,给IPV6的地址又加了一层中括号? 不会吧,JDK如果有这个bug应该早就被发现了