php - 如何在 symfony2 功能测试中发出 https 请求?

标签 php symfony https http-status-code-301 functional-testing

您好,我正在使用 phpunit 进行测试,使用 Symfony\Bundle\FrameworkBundle\Test\WebTestCase 进行单元测试。到目前为止没有问题,但现在我们开始使用 https,我的测试不再工作了。我开始为我的测试中的每个请求获取 301 响应代码。我的问题是我如何告诉 Symfony\Component\HttpKernel\Client 向 https://localhost.com/uri 而不是 http://localhost.com/uri ?

编辑

在 symfony 网站上 http://symfony.com/doc/current/book/testing.html他们展示了如何配置服务器参数,并且代码和平如

$client->request(
 'GET',
 '/demo/hello/Fabien',
 array(),
 array(),
 array(
     'CONTENT_TYPE'          => 'application/json',
     'HTTP_REFERER'          => '/foo/bar',
     'HTTP_X-Requested-With' => 'XMLHttpRequest',
 )
);

我尝试提供 http://php.net/manual/en/reserved.variables.server.php 中提到的 HTTPS 元素将我的代码更改为

$client->request('GET',
         '/'.$version.'/agencies/'.$agencyId,
         array(), 
         array(),
         array('HTTPS' => 'on')
         );

但是还是不行?

最佳答案

感谢@WouterJ,我更改了我的客户端创建:

static::createClient();

到:

static::createClient(array(),array('HTTPS' => true));

它解决了我的问题。 原来我不能在client ->request中给HTTP_HOST和HTTPS参数。它应该在创建客户端时确定。

关于php - 如何在 symfony2 功能测试中发出 https 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19757525/

相关文章:

Android WebView 未加载 HTTPS URL

php - 无法连接到数据库

php - Symfony - 通过 ID 获取用户提供者

javascript - 当401错误出现时,如何将用户重定向到他要去的同一页面?

php - 无法使用 NetBeans IDE (8.1) 设置 Symfony2 框架

php - Doctrine ArrayCollection 删除元素不起作用

excel - 我需要做什么才能使 Excel 通过 HTTPS 访问 Web 查询?

PHPMailer 无法连接 ot 服务器

php - 从url获得一些值(value)?

php - 从一个选择选项值中获取多个值。 PHP HTML