Dzi*_*mid 4 symfony behat mink
我正在尝试将Behat带到https安全项目,并且在启动curl请求时mink失败.
Scenario: Loggin in # features/debt.feature:6
Given I am on "/" # FeatureContext::visit()
[curl] 51: SSL: certificate subject name 'ubuntu' does not match target host name 'wizard' [url] https://wizard/admin/dev.php/ [info] array (
'url' => 'https://wizard/admin/dev.php/',
'content_type' => NULL,
'http_code' => 0,
'header_size' => 0,
'request_size' => 0,
'filetime' => -1,
'ssl_verify_result' => 1,
'redirect_count' => 0,
'total_time' => 0.061943,
'namelookup_time' => 0.000234,
'connect_time' => 0.000344,
'pretransfer_time' => 0,
'size_upload' => 0,
'size_download' => 0,
'speed_download' => 0,
'speed_upload' => 0,
'download_content_length' => -1,
'upload_content_length' => -1,
'starttransfer_time' => 0,
'redirect_time' => 0,
'certinfo' =>
array (
),
) [debug] * About to connect() to wizard port 443 (#0)
* Trying 127.0.0.1... * connected
* Connected to wizard (127.0.0.1) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
* subject: CN=ubuntu
* start date: 2011-05-23 08:26:04 GMT
* expire date: 2021-05-20 08:26:04 GMT
* SSL: certificate subject name 'ubuntu' does not match target host name 'wizard'
* Closing connection #0
Run Code Online (Sandbox Code Playgroud)
通过设置这2个卷曲参数可以解决这个问题:
CURLOPT_SSL_VERIFYPEER = false
CURLOPT_CERTINFO = false
Run Code Online (Sandbox Code Playgroud)
我知道Mink在内部使用guzzle,它会启动curl请求.如何使用curl选项正确实例化guzzle客户端?
小智 5
是的,它已知问题,现在唯一的解决方案是你的behat.yml:
default:
paths:
features: .
bootstrap: %behat.paths.features%/bootstrap
extensions:
Behat\MinkExtension\Extension:
base_url: http://yourhost/
goutte:
guzzle_parameters:
ssl.certificate_authority: system
curl.options:
64: false # CURLOPT_SSL_VERIFYPEER
172: false # CURLOPT_CERTINFO
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2383 次 |
最近记录: |