新在Symfoob娱乐下载ny 6.3: HttpClient改进
ob娱乐下载Symfony 6.3是支持由:
添加JsonMockResponse
HttpClient组件提供了一些实用程序测试HTTP请求和响应使用一个MockHttpClient
返回MockResponse
对象。在Syob娱乐下载mfony 6.3我们已经介绍了JsonMockResponse
实用程序类模拟JSON响应:
1 2 3 4 5 6 7 8 9 10 11 12
/ /之前使用ob娱乐下载\组件\HttpClient\响应\MockResponse;新MockResponse (json_encode ([“foo”= >“酒吧”),(“response_headers”= > [“内容类型”= >“application / json”]]);/ /后使用ob娱乐下载\组件\HttpClient\响应\JsonMockResponse;新JsonMockResponse ([“foo”= >“酒吧”]);
配置额外的选项
的额外的
选项传递给请求()
HttpClient组件的方法允许定义额外的配置,如旋度的选择。在Syob娱乐下载mfony 6.3还可以定义它们额外的
当配置HttpClient选项。
通过这种方式,您可以配置旋度选项如证书一旦和使用它们的所有请求由HTTP客户端:
1 2 3 4 5 6 7 8 9 10 11 12 13
/ /这个例子展示了如何配置这些选项时使用/ / PHP配置格式;但它也使用YAML和XML返回静态函数(FrameworkConfig美元frameworkConfig):无效{美元httpClient=美元frameworkConfig- >httpClient ();美元httpClient- >defaultOptions ([“额外的”= > [“卷”= > [“foo”= >“酒吧”]]]);美元httpClient- >scopedClient (“some_client”)- >baseUri (“https://some.uri”)- >头(“接受”,“application / json”)- >额外的([“卷”= > [“foo”= >“酒吧”]]);}
TLS v1.2默认情况下
提供的
尼古拉斯Grekas
在# 50274。
在Syob娱乐下载mfony 6.3我们已经添加了一个新的crypto_method
可以选择的HttpClientInterface
所以你可以定义的最小TLS版本接受当发出请求。我们也将其默认值设置为PHP常数STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
,对应于TLS v1.2。
这使得客户端默认更安全。(注意,TLS v1.2可用自2008年以来,所有主要的浏览器禁用支持TLS 2020年< 1.2)。
多个重试uri
提供的
本杰明Zaslavsky
在# 49809。
重试失败的请求的特点之一,就是提供HttpClient组件处理失败的请求由于网络问题或临时服务器错误。在Syob娱乐下载mfony 6.3我们改善这个特性允许定义多个基本uri时,或者选择重试请求:
1 2 3 4 5 6
美元响应=美元客户端- >请求(“得到”,“foo bar”,(“base_uri”= > [“http://a.example.com/”,/ /第一个请求URI将使用这个基地“http://b.example.com/”,/ /如果第一个请求失败,将使用第二个基本URI)));
文件上传的改进
提供的
尼古拉斯Grekas
在# 49911。
当上传数据HttpClient组件,默认编码的数据应用程序/ x-www-form-urlencoded
。如果你想提交表单文件上传,这是你的责任根据编码的身体多部分/格式
内容类型。
在Syob娱乐下载mfony 6.3我们改善这种情况,现在你可以上传一个或多个文件使用多部分/格式
如下:
1 2
美元文件句柄= fopen (' / / / /文件的路径“r”);美元客户端- >请求(“职位”,“https://..”。,(“身体”= > [“the_file”= >美元文件句柄]]);
默认情况下,这段代码将填充文件名和内容类型的数据文件,但是您可以配置两个PHP流配置:
1 2
stream_context_set_option (美元文件句柄,“http”,“文件名”,“the-name.txt”);stream_context_set_option (美元文件句柄,“http”,“content_type”,“我的/内容类型”)
添加对URI模板的支持
URI模板中定义的RFC 6570通过一些变量,描述一系列url部分。例如,http://example.com/ {username} /
使用URL路径中的一个变量http://example.com/search {? q,朗}
在查询字符串中使用两个变量URL的一部分。
在Syob娱乐下载mfony 6.3可以使用这些新的URI模板UriTemplateHttpClient ()
:
1 2 3 4 5 6 7 8 9
美元客户端=新UriTemplateHttpClient ();/ /这个请求将在http://example.org/users?page=1查询结果美元客户端- >请求(“得到”,“http://example.org/{资源}}{?页面”,(“var”= > [“资源”= >“用户”,“页面”= >1、]]);
你甚至可以在全球范围内配置变量,将取代所有URI模板的应用程序:
1 2 3 4 5 6
#配置/包/ framework.yaml框架:http_client:default_options:var:- - - - - -秘密:“secret-token”
评论
评论都关门了。
以确保评论保持相关,他们关闭了旧的帖子。
Quentin Fahrner is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now我们如何使用HTTP客户端发送多个文件?
至于现在,似乎体内经过一系列文件导致任何文件被发送。