Tag: ipv6

java.net.Inet6Address.getByName字面上输出并查看地址是否存在

我不知道java但是从这个问题可以看出( Oracle正则表达式(REGEXP_LIKE)太长错误 – ORA-12733 )如果IPv6地址格式正确,java似乎最容易validation。 我尝试了正则表达式,接近尾声,但这是一场噩梦,PL / SQL的表达式太长了。 我用Oracle的方式工作。 我只想validation格式,而不是地址确实存在。 java.net.Inet6Address.getByName字面上也是如此,看看地址是否存在? 文档说…( http://docs.oracle.com/javase/1.5.0/docs/api/java/net/InetAddress.html#getByName ( java.lang.String) ) “ 如果提供了文字IP地址,则只检查地址格式的有效性。 ” 我正在接受它,因为它没有ping,我理解正确吗?

用于接受有效主机名,IPv4或IPv6地址的Java正则表达式

任何人都有一个好的(最好是测试过的)正则表达式,只能使用有效的DNS主机名,IPv4或IPv6地址?

在实际的Java程序中使用IPv6

IPv6的使用现在正在慢慢开始,所以我目前正在修复和更新所有为IPv6做好准备的应用程序。 其中一个应用程序是Java编辑器JOSM( http://josm.openstreetmap.de/ )。 即使操作系统使用IPv6,Java也不会在默认配置中使用IPv6。 根据http://docs.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/#using我将java.net.preferIPv6Addresses设置为true以使其使用IPv6。 结果是关于互联网连接中断的用户错误报告。 似乎Java只切换到使用IPv6地址而不是IPv4,但不做其他事情。 我维护的所有基于C / C ++的软件都已更改为检查并尝试所有可用的IP地址,因此只要其中一个地址有效,就会跳过损坏的IPv6(或IPv4)地址。 对我来说,看起来Java只尝试一次,这在现实世界中不起作用。 当IPv6通过隧道传输时,OS通常也更喜欢IPv4而不是IPv6。 看起来Java也忽略了这个设置。 所以我的问题是:在没有破坏IPv4用户的应用程序的情况下,有没有什么好方法可以让Java应用程序默认使用IPV6。 用户错误报告: http : //josm.openstreetmap.de/ticket/8562,http : //josm.openstreetmap.de/ticket/8627 。

用于将长IPv6地址转换为压缩forms的Java库

我想知道,是否有一个库可以用来将长IPv6地址的代表(例如2002:9876:57AB:0000:0000:0000:0000:0001)转换为压缩的IPv6格式(在这种情况:2002:9876:57AB :: 1)。 我找不到这样的图书馆。 此库不应使用任何IP Api,不得进行网络连接。 我已经试过了 return Inet6Address.getByName(longAdress).toString(); 但这只是将1个零替换为4个零(在本例中为2002:9876:57AB:0:0:0:0:1)。 有什么建议?

为什么request.getRemoteAddr()根据上下文(post query或ajax query)返回ipv4或ipv6

我已经使用Spring / GWT使用Flash上​​传文件。 当我用GWT发送ajax请求并尝试获取用户的ip地址时,我得到一个ipv4地址,如:127.0.0.1 但是当我用flash上​​传我的文件(以及在同一个webapp上的post请求)时,我得到一个ipv6地址0:0:0:0:0:0:0:1 我使用相同的代码来获取用户ip,即: ServletRequestAttributes att = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(); att.getRequest().getRemoteAddr(); 问题是我使用一个使用ip地址的签名来确保用户可以上传文件(由于使用flash上​​传时会话丢失的错误)以及当我使用ajax或Post via flash时ip地址发生变化。 有什么问题,如何获得相同的IP格式? 谢谢

Java – 我如何更喜欢IPv6?

我想使用java.net.URL的openConnection()方法获取http://en.wikipedia.org的内容。 我发现en.wikiepdia.org同时具有IPv4和IPv6地址: $ host en.wikipedia.org en.wikipedia.org is an alias for wikipedia-lb.wikimedia.org. wikipedia-lb.wikimedia.org is an alias for wikipedia-lb.eqiad.wikimedia.org. wikipedia-lb.eqiad.wikimedia.org has address 208.80.154.225 wikipedia-lb.eqiad.wikimedia.org has IPv6 address 2620:0:861:ed1a::1 如何使用IPv6地址访问该站点?

IPv6组播示例

我已经搜索了如何实现一个简单的ipv6组播示例的例子,但是我只找到了使用ipv4的例子。 任何人都可以提供一个简单的“helloworld”ipv6组播示例吗?

用于检查IPv4或IPv6地址是否在给定子网中的Java库

我可以用什么库来检查IP地址是否在给定的子网中? 我可以找到像Apache Commons SubnetUtils( SubnetUtils.SubnetInfo.isInRange )这样的库,但是许多库还不支持IPv6。

IPv6validation

我使用IPAddressUtil.isIPv6LiteralAddress (ipAddress)方法validationIPv6,但此方法因IPV6的ipv6-address / prefix-length格式(格式在RFC 4291第2.3节中提到)而失败。 有谁知道任何validation“ipv6-address / prefix-length”格式的validation器? IPV6的法律陈述 ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 2001:DB8:0:0:8:800:200℃:417A FF01:0:0:0:0:0:0:101 0:0:0:0:0:0:0:1 0:0:0:0:0:0:0:0 2001:DB8 :: 8:800:200C:417A FF01 :: 101 :: 1 :: 0:0:0:0:0:0:13.1.68.3 0:0:0:0:0:FFFF:129.144.52.38 :: 13.1.68.3 FFFF:129.144.52.38 2001年:将0db8:0000:CD30:0000:0000:0000:0000/60 2001年:将0db8 :: CD30:0:0:0:0/60 2001年:将0db8:0:CD30 :: / 60 不是IPV6的合法陈述 2001:将0db8:0:CD3 / 60 2001年:将0db8 :: CD30 / 60 2001年:将0db8 :: CD3 / 60

Tomcat中的HttpServletRequest.getRemoteAddr()返回IPv6格式的IP地址

Tomcat中的HttpServletRequest.getRemoteAddr()返回IPv6格式的IP地址,但我想配置它返回IPv4。 我通过’localhost’访问servlet。 如果我通过’127.0.0.1’访问它,则返回IPv4格式的IP地址(请参阅此答案 )。 环境: Windows 7 x64 Tomcat 6.0.35-windows-x64 我的LAN连接属性: 已检查IPv6 ,但如果我将其检查,则它既不起作用。