curl不会通过HTTPS获取PHP上的网站内容

时间:2015-10-28 10:18:12

标签: php unix curl

我已经阅读了所有互联网并尝试了几乎所有的解决方案,没有任何效果。

如果我运行curl http:// ...网站,它可以工作,但如果我运行https:// ...它不会。

我'使用php 5.6运行centos 7

如果我用

尝试着名的答案,也没有任何事情发生
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

唯一可以帮助我获取网站的是

curl -4svo/dev/null --ciphers ecdhe_ecdsa_aes_128_sha https://.....

然而,因为我需要发送我的标题,它不是一个解决方案,我需要与curl_setopt兼容的东西。

更新错误

  

我明白了:curl:(35)无法与同伴安全沟通:不   通用加密算法。

2 个答案:

答案 0 :(得分:1)

我认为,这个问题是由不支持ECC 256位SSL证书的cURL版本和ECDSA签名算法(由CloudFlare使用)引起的。您可以通过运行以下命令来测试您的cURL版本是否支持此加密:

curl -1IsS --ciphers ecdhe_ecdsa_aes_128_sha https://sslspdy.com

如果您得到以下内容,那么您的cURL已过期:

curl: (59) Unknown cipher in list: ecdhe_ecdsa_aes_128_sha

答案 1 :(得分:1)

这是神奇的线条!

public static String fileToBeRead="/online.exam/Read.xls"; private void formWindowActivated(java.awt.event.WindowEvent evt) { try{ // TODO add your handling code here: HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead)); // Refer to the sheet. Put the Name of the sheet to be referred from // Alternative you can also refer the sheet by index using getSheetAt(int index) HSSFSheet sheet = workbook.getSheet("Sheet1"); //Reading the TOP LEFT CELL HSSFRow row = sheet.getRow(0); // Create a cell ate index zero ( Top Left) HSSFCell cell = row.getCell(0); // Type the content System.out.println("THE TOP LEFT CELL--> " + cell.getStringCellValue()); } catch(IOException ex){ System.err.println("No such file"); }