小编Mik*_*ffe的帖子

Java SSLException:证书中的主机名不匹配

我一直在使用以下代码连接到谷歌的服务之一.这段代码在我的本地机器上工作正常:

HttpClient client=new DefaultHttpClient();
HttpPost post = new HttpPost("https://www.google.com/accounts/ClientLogin");
post.setEntity(new UrlEncodedFormEntity(myData));
HttpResponse response = client.execute(post);
Run Code Online (Sandbox Code Playgroud)

我将此代码放在生产环境中,该环境已阻止Google.com.根据要求,他们允许我访问IP:74.125.236.52(这是Google的IP之一),允许与Google服务器进行通信.我编辑了我的hosts文件也添加了这个条目.

我仍然无法访问URL,我想知道为什么.所以我用上面的代码替换了:

HttpPost post = new HttpPost("https://74.125.236.52/accounts/ClientLogin");
Run Code Online (Sandbox Code Playgroud)

现在我收到这样的错误:

javax.net.ssl.SSLException:证书中的主机名不匹配:<74.125.236.52>!= <www.google.com>

我想这是因为Google有多个IP.我不能让网络管理员允许我访问所有这些IP - 我甚至可能没有得到这整个列表.

我现在应该怎么做 ?Java级别有解决方法吗?或者它完全掌握在网络人手中?

java ssl https

39
推荐指数
6
解决办法
15万
查看次数

检查gdb中的C/C++堆内存统计信息

我正在尝试从Linux amd64上的gdb中调查C/C++堆的状态,有一个很好的方法吗?

我尝试过的一种方法是"调用mallinfo()"但不幸的是我无法提取我想要的值,因为gdb没有正确处理返回值.

我不能轻易地编写一个函数来编译成我所连接的进程的二进制文件,所以我可以通过这种方式在我自己的代码中调用mallinfo()来实现我自己的函数来提取值.是否有一个聪明的技巧可以让我在飞行中做到这一点?

另一种选择可能是找到堆并遍历malloc头文件/空闲列表; 我非常感谢能够找到这些位置和布局的任何指示.

我一直在尝试谷歌并阅读约2个小时的问题,我已经学到了一些有趣的东西,但仍然找不到我需要的东西.

linux heap malloc gdb x86-64

27
推荐指数
2
解决办法
4万
查看次数

在Linux上的gdb中加载核心文件时,如何在库路径前添加目录

我在远程系统上生成了一个我无法直接访问的核心文件.我还有来自远程系统的库文件的本地副本,以及崩溃程序的可执行文件.

我想在gdb中分析这个核心转储.

例如:

gdb path/to/executable path/to/corefile
Run Code Online (Sandbox Code Playgroud)

我的库位于当前目录中.

在过去,我见过调试器通过提供选项"-p"来实现它.或"-p/=."; 所以我的问题是:

在分析gdb中的核心文件时,如何指定首先从相对于当前目录的路径加载库?

linux gdb coredump path

25
推荐指数
2
解决办法
4万
查看次数

使用Java和UTF-8编码生成有效的XML

我正在使用JAXP生成和解析XML文档,从该文档从数据库加载一些字段.

用于序列化XML的代码:

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.newDocument();
Element root = doc.createElement("test");
root.setAttribute("version", text);
doc.appendChild(root);

DOMSource domSource = new DOMSource(doc);
TransformerFactory tFactory = TransformerFactory.newInstance();

FileWriter out = new FileWriter("test.xml");
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.transform(domSource, new StreamResult(out)); 
Run Code Online (Sandbox Code Playgroud)

解析XML的代码:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("test.xml");
Run Code Online (Sandbox Code Playgroud)

我遇到以下异常:

[Fatal Error] test.xml:1:4: Invalid byte 1 of 1-byte UTF-8 sequence.
Exception in thread "main" org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.
    at …
Run Code Online (Sandbox Code Playgroud)

java xml encoding utf-8

21
推荐指数
2
解决办法
7万
查看次数

标签 统计

gdb ×2

java ×2

linux ×2

coredump ×1

encoding ×1

heap ×1

https ×1

malloc ×1

path ×1

ssl ×1

utf-8 ×1

x86-64 ×1

xml ×1