使用nmap扫描提示utf-8编码错误_程序访问一个地址时候报400错误,浏览器访问正常怎么解决...

628e94d40dba1123ff96796cd842aa6d.png

最近凯哥在调程序的时候,发现以前好好的程序,突然不能用了。于是就本地断点,发现了如下错误:

da30eeea1d39e6957ec78a6621027861.png

程序通过httpClient访问一个地址的时候,提示:server returned HTTP Response code :400 fro URL:XXXX这个错误。不对啊,以前的没问题现在怎么就突然有问题了?而且将程序访问的url地址放到浏览器中就可以正常访问的。为什么在程序中就访问不了呢?

于是就把访问的URL 复制下来,一个一个对比,发现,原来,程序访问出错的url中有中文。怀疑是不是因为中文没有进行URL编码导致【ps:最后得到的结论确实是中文没有URL编码】?

Jave中对URL进行url编码,大家都知道,就是URLEncoder.encode()这个方法。简单啊!该就是呗。于是凯哥就把整个URL进行encode.结果大家可想而知,把http://xxx 中的://也进行了encode.通过httpclient当然访问不了的。

程序

访问前的URL:xxx?name=凯哥==>结果访问失败

修改后的URL:xxx?name=URLEncoder.encode("凯哥","utf8")==>访问成功

于是凯哥就修改编码方式,只对中文部分的参数进行encode.修改之后,程序就正常访问成功了。

总结:

如果程序访问一个url出现server returned HTTP Response code :400 fro URL这个错误,但是在浏览器中访问同样的url没问题的话,就要考虑是不是因为访问的url中有特殊字符。如空格、逗号、中文等。把这些特殊字符进行url编码后在使用程序进行访问或许就能成功了。需要注意,在进行url编码的时候,指定编码的字符集

根据提供的引用[1],nmap是一款网络探测和安全审计工具。使用-v选项可以增加扫描的详细程度,使用-vv选项可以进一步增加详细程度。因此,nmap -v scanme.nmap.org扫描的详细程度比nmap -vv scanme.nmap.org扫描的详细程度要少。 下面是两个命令的示例: 1. nmap -v scanme.nmap.org扫描的输出示例: ```shell Starting Nmap 7.80 ( https://nmap.org ) at 2021-08-17 09:30 PDT Initiating Ping Scan at 09:30 Scanning scanme.nmap.org (45.33.32.156) [2 ports] Completed Ping Scan at 09:30, 0.00s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 09:30 Completed Parallel DNS resolution of 1 host. at 09:30, 0.02s elapsed Initiating Connect Scan at 09:30 Scanning scanme.nmap.org (45.33.32.156) [1000 ports] Discovered open port 80/tcp on 45.33.32.156 Discovered open port 22/tcp on 45.33.32.156 Completed Connect Scan at 09:30, 0.11s elapsed (1000 total ports) Nmap scan report for scanme.nmap.org (45.33.32.156) Host is up (0.11s latency). Other addresses for scanme.nmap.org (not scanned): 2600:3c03::f03c:91ff:fe18:bb2f Not shown: 998 filtered ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds ``` 2. nmap -vv scanme.nmap.org扫描的输出示例: ```shell Starting Nmap 7.80 ( https://nmap.org ) at 2021-08-17 09:31 PDT Initiating Ping Scan at 09:31 Scanning scanme.nmap.org (45.33.32.156) [2 ports] Packet capture filter (device eth0): icmp and ((ip[20:2] - ip[16:2]) - ((ip[0]&0xf)<<2)) != 0 Completed Ping Scan at 09:31, 0.00s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 09:31 Completed Parallel DNS resolution of 1 host. at 09:31, 0.02s elapsed Initiating Connect Scan at 09:31 Scanning scanme.nmap.org (45.33.32.156) [1000 ports] Discovered open port 80/tcp on 45.33.32.156 Discovered open port 22/tcp on 45.33.32.156 Completed Connect Scan at 09:31, 0.11s elapsed (1000 total ports) Nmap scan report for scanme.nmap.org (45.33.32.156) Host is up, received syn-ack (0.11s latency). Other addresses for scanme.nmap.org (not scanned): 2600:3c03::f03c:91ff:fe18:bb2f Not shown: 998 filtered ports Reason: 998 no-responses and 2 host-prohibited PORT STATE SERVICE REASON 22/tcp open ssh syn-ack ttl 56 80/tcp open http syn-ack ttl 56 Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 0.18 seconds ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值