使用给定的p12证书连接到https站点

服务器端给了我一个.p12证书文件,我点击并安装在我的机器上然后我可以通过浏览器访问HTTPS站点。 现在他们希望我用给出的证书抓取他们的网站。 我陷入了它的第一阶段,试图从httpsURLConnection获取inputStream 。 该网站没有登录。 它只会检查您是否拥有证书。 到目前为止我所做的是使用Firefox以.crt文件格式导出证书。 然后我使用keytool命令将它( .crt文件,而不是.p12 )导入java密钥库。 然后在代码中: KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); File ksFile = new File(keystorePath); in = new FileInputStream(ksFile); ks.load(in, “changeit”.toCharArray()); X509Certificate cert = (X509Certificate) ks.getCertificate(certificateAlias); SSLContext sc = SSLContext.getInstance(“TLS”); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HttpsURLConnection con = (HttpsURLConnection) (new URL(urlString)).openConnection(); con.connect(); con.getInputStream(); con.disconnect(); getInputStream()将给出403错误禁止访问。 我搜索了其他相关主题,实际上比阅读之前更加困惑。 非常感谢答案。 额外细节: 我只是实例化了证书,并且没有让程序知道任何类型的密钥(私有,公共等)。 所以我认为我必须将这些密钥提供给服务器,让它知道我实际上持有证书。 […]

为什么双加有时正确,有时错?

我知道java有双精度陷阱,但为什么有时候,近似结果是可以的,但有时却不是。 像这样的代码: for ( float value = 0.0f; value < 1.0f; value += 0.1f ) System.out.println( value ); 结果是这样的: 0.0 0.1 0.2 0.3 … 0.70000005 0.8000001 0.9000001

如何找到父线程的名称?

我知道当我们谈论流程时,我们可以拥有“父母”和“孩子”。 但是有可能获得父Thread名称吗? 我做了我的研究,但我只找到了.Net的答案 编辑:我尝试设置名称: public class Main { public static void main(String[] args) { Thread r = new ThreadA(); r.start(); } } public class ThreadA extends Thread { public void run() { Thread.currentThread().setName(“Thread A”); System.out.println(“Here ” + Thread.currentThread().getName()); Thread r = new ThreadB(); r.setName(Thread.currentThread().getName()); r.start(); } } public class ThreadB extends Thread { public void […]

Java XML绑定

你用什么来将XML绑定到Java? JAXB,Castor和XMLBeans是一些可用的选择。 我见过的比较都是三四年。 我愿意接受其他建议。 编组/解组的性能和易用性是特别令人感兴趣的。 澄清:我不仅希望看到您使用的框架,而且还希望看到使用其中一个框架的原因。

如何在没有文本框的Selenium上传文件

我一直在寻找在Selenium 2中上传文件的解决方案。 问题是我尝试上传的网页元素有两种使用方式:拖放或点击按钮。 没有字段输入框。 并不是说我没有尝试使用sendKeys。 我已经尝试了按钮和周围的所有元素。 这个问题的第二部分是我在Windows机器上编写,但自动化发生在Linux机器上。 这意味着AutoIt不起作用。 这是上传框的HTML。 Please choose a folder to upload Drop one or more files here or Select Files 我正在使用Java,并对Selenium之外的其他方法开放(但是,我只选择了maven存储库)。 谢谢!

使用Apache Spark和Java将CSV解析为DataFrame / DataSet

我是新来的火花,我想使用group-by&reduce从CSV中找到以下内容(使用一行): Department, Designation, costToCompany, State Sales, Trainee, 12000, UP Sales, Lead, 32000, AP Sales, Lead, 32000, LA Sales, Lead, 32000, TN Sales, Lead, 32000, AP Sales, Lead, 32000, TN Sales, Lead, 32000, LA Sales, Lead, 32000, LA Marketing, Associate, 18000, TN Marketing, Associate, 18000, TN HR, Manager, 58000, TN 我希望通过Department,Designation,State简化包含其他列和sum(costToCompany)和TotalEmployeeCount的组的CSV 应得到如下结果: Dept, Desg, state, empCount, […]

如何使用有时包含XML内容的JAXB来编组字符串,有时却不包含?

考虑这个例子 – 我有一个名为Report的类,它有一个Message类型的字段。 Message类有一个名为“body”的字段,它是一个字符串。 “body”可以是任何字符串, 但有时它包含格式正确的XML内容 。 如何确保当“body”包含XML内容时,序列化采用XML结构的forms而不是目前提供的forms? 这是输出的代码 – 报告类 import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = “Report”) @XmlType(propOrder = { “message”}) public class Report { private Message message; public Message getMessage() { return message; } public void setMessage(Message m) { message = m; } } 消息类 import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; @XmlType(propOrder = { “body” […]

如何修复此代码,以便将此JFreeChart添加到面板中

我正在尝试制作一个专门嵌入JInternalFrame的面板中的图表; 它是图书馆JFreeChart的饼图。 我想将图表嵌入到一个变量名为jpPaneles的面板上,但事实certificate这是不可能的。 这对我的项目来说非常重要,所以如果有人有时间帮助我,我会非常感激。 我在NetBeans GUI编辑器中工作。 这是代码,您可以看到我尝试将frame1添加到面板。 import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PiePlot3D; import org.jfree.data.general.DefaultPieDataset; public class Eventad extends javax.swing.JInternalFrame { public Eventad() { initComponents(); } public void updateChart() { } public static void main(String arg[]) { DefaultPieDataset pieDataset = new DefaultPieDataset(); pieDataset.setValue(“One”, new Integer(10)); pieDataset.setValue(“Two”, new Integer(20)); pieDataset.setValue(“Three”, new Integer(30)); pieDataset.setValue(“Four”, new […]

JFrame不提供任何组件

我使用以下代码创建一个非常简单的JFrame ,但由于某种原因它不显示任何组件,只是一个空白框架。 为什么会这样? 我创建了很多次框架,我无法弄清楚出了什么问题。 代码是: Main(){ JFrame frame = new JFrame(“Colorizer | By: NonameSL”); frame.setSize(400,200); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); frame.setContentPane(panel); textField=new JTextField(“Enter your name!”); textField.setBounds(0,0,40,200); textField.setVisible(true); frame.getContentPane().add(textField); button=new JButton(“Go!”); button.setBounds(0, 200, 40, 200); button.setVisible(true); frame.getContentPane().add(button); rectangle=new RecShape(Color.WHITE); rectangle.setBounds(0,40,400,160); rectangle.setVisible(false); frame.getContentPane().add(rectangle); Main.frame=frame; registerButton(); } RecShape类是我创建的一个类,它只是在屏幕上创建一个矩形形状。 哪里不对?

如何在Android项目中使用Singleton模式?

我知道Singleton,但我无法在Android项目中使用它。 我是Android的初学者。 请告诉我在大型数据的Android项目中如何以及在哪里使用Singleton。 我用它来表示简单的值。