http_client或者使用自动装配的别名HttpClientInterface

这个服务可以使用配置framework.http_client.default_options:

  • YAML
  • XML
  • PHP
  • 独立使用
1 2 3 4 5 6 7 8
#配置/包/ framework.yaml框架:#……http_client:max_host_connections:10default_options:标题:{“X-Powered-By”:“ACME应用”}max_redirects:7

可以定义多个预配置HTTP客户机服务,每个服务名称定义为下一个关键scoped_clients。作用域客户继承的默认选项定义http_client服务。您可以覆盖这些选项可以定义其他几个人:

  • YAML
  • XML
  • PHP
  • 独立使用
1 2 3 4 5 6 7 8
#配置/包/ framework.yaml框架:#……http_client:scoped_clients:my_api.client:auth_bearer:secret_bearer_token#……

选项为作用域定义客户仅适用于其相匹配的urlbase_uri或者是范围选择时定义。不匹配的url总是使用默认选项。

每个范围的客户还定义了相应的自动装配别名命名。如果你使用欧宝娱乐app下载地址Symfony \ \ HttpClient \ HttpClientInterface myApiClient美元的合同作为一个参数的类型和名称,自动装配将注入my_api.client服务到您autowired的类。

通过支持可选retry_failed配置HTTP客户服务将自动重试失败的HTTP请求。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日
#配置/包/ framework.yaml框架:#……http_client:#……default_options:retry_failed:# retry_strategy: app.custom_strategyhttp_codes:0:(“得到”,“头”]#如果请求方法是GET或重试网络错误429:真正的#重试所有响应429状态码500:(“得到”,“头”]max_retries:2延迟:1000年乘数:3max_delay:5000年抖动:0.3scoped_clients:my_api.client:#……retry_failed:max_retries:4

5.2

retry_failed选项是在Symfony 5.2中引入的。欧宝娱乐app下载地址

字符串

用于创建用户名和密码授权HTTP头中使用微软NTLM认证协议。这个选项的值必须遵循的格式用户名:密码。这种身份验证机制需要使用cURL-based运输。

字符串

合并成相对URI URI,遵循这些规则的解释RFC 3986标准。这是有用的,当所有的请求你共享一个公共前缀(例如。https://api.github.com/),这样你就可以避免将其添加到每一个要求。

这里有一些常见的例子base_uri合并工作实践:

数组默认的:DEFAULT_RETRY_STATUS_CODES ()

5.2

http_codes选项是在Symfony 5.2中引入的。欧宝娱乐app下载地址

HTTP状态代码的列表触发器的重试请求。

字符串

一个文件包含之路PEM格式所使用的HTTP客户端证书。这通常是结合local_pk密码选项。

字符串

一个文件包含的道路PEM格式私钥证书中定义的local_cert选择。

数组默认的:[]

此设置用于额外的请求格式(如联系起来。html一个或多个mime类型(如。text / html),这将允许您使用格式和mime类型来调用要求::getFormat (mimeType美元)要求::getMimeType(格式)

在实践中,这是很重要的,因为Symfony用它来自动设置欧宝娱乐app下载地址内容类型标题响应(如果你不显式地设置一个)。如果你通过一个mime类型数组,第一个将用于标题。

配置一个jsonp格式:

  • YAML
  • XML
  • PHP
1 2 3 4 5
#配置/包/ framework.yaml框架:要求:格式:jsonp:“应用程序/ javascript”