我一直在使用以下代码连接到谷歌的服务之一.这段代码在我的本地机器上工作正常:
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级别有解决方法吗?或者它完全掌握在网络人手中?
我正在尝试从Linux amd64上的gdb中调查C/C++堆的状态,有一个很好的方法吗?
我尝试过的一种方法是"调用mallinfo()"但不幸的是我无法提取我想要的值,因为gdb没有正确处理返回值.
我不能轻易地编写一个函数来编译成我所连接的进程的二进制文件,所以我可以通过这种方式在我自己的代码中调用mallinfo()来实现我自己的函数来提取值.是否有一个聪明的技巧可以让我在飞行中做到这一点?
另一种选择可能是找到堆并遍历malloc头文件/空闲列表; 我非常感谢能够找到这些位置和布局的任何指示.
我一直在尝试谷歌并阅读约2个小时的问题,我已经学到了一些有趣的东西,但仍然找不到我需要的东西.
我在远程系统上生成了一个我无法直接访问的核心文件.我还有来自远程系统的库文件的本地副本,以及崩溃程序的可执行文件.
我想在gdb中分析这个核心转储.
例如:
gdb path/to/executable path/to/corefile
Run Code Online (Sandbox Code Playgroud)
我的库位于当前目录中.
在过去,我见过调试器通过提供选项"-p"来实现它.或"-p/=."; 所以我的问题是:
在分析gdb中的核心文件时,如何指定首先从相对于当前目录的路径加载库?
我正在使用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)