首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何使用Guzzle6提出这个帖子请求?

我如何使用Guzzle6提出这个帖子请求?
EN

Stack Overflow用户
提问于 2015-06-24 22:47:17
回答 2查看 1K关注 0票数 0

我的工作Guzzle5代码大致如下:

代码语言:javascript
复制
$guzzle = new \GuzzleHttp\Client();
$request = $guzzle->createRequest('POST', $url);
$request->setHeader('Authorization', 'Bearer ' . $token);
$postBody = $request->getBody();
$postBody->setField('name', 'content');//several times
if (check for file) {
    $postBody->addFile(new \GuzzleHttp\Post\PostFile('name', fopen(...));
}
$response = $guzzle->send($request);

如果设置一个头文件并可能添加一个文件,我不知道如何使用Guzzle6来完成这个任务。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-25 17:34:12

这里是官方文档中的一个示例,您如何使用Guzzle 6设置标题并将文件添加到POST请求中:

代码语言:javascript
复制
$client = new \GuzzleHttp\Client();
$client->post('/post', [
    'multipart' => [
        [
            'name'     => 'foo',
            'contents' => 'data',
            'headers'  => ['X-Baz' => 'bar']
        ],
        [
            'name'     => 'baz',
            'contents' => fopen('/path/to/file', 'r')
        ],
        [
            'name'     => 'qux',
            'contents' => fopen('/path/to/file', 'r'),
            'filename' => 'custom_filename.txt'
        ],
    ]
]);

多部分选项将请求的主体设置为多部分/表单数据表单,如果不需要处理文件,则只需使用参数而不是多部分选项即可。

任何可以使用帮助标头选项轻松设置的标头。

更多信息,您可以在这里找到口吻升级指南(5.0至6.0)

票数 1
EN

Stack Overflow用户

发布于 2015-06-24 23:38:39

下面是从我的一个项目中复制的一些代码:

代码语言:javascript
复制
$client = new GuzzleHttp\Client();
$url = 'someurl.com/api';
$body = json_encode([
    'variable1' => 'this',
    'variable2' => 'that'
]);


$response = $client->post($url, [
    'headers' => [
        'header_variable1' => 'foo',
        'header_variable2' => 'bar'
    ],
    'json' => true,
    'timeout' => 3,
    'body' => $body
]);

$data = $response->json();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31038444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档