簡體   English   中英

使用 JSON 和 XML 文件從 cURL 轉換為 Guzzle 6 的問題

[英]Issue converting from cURL to Guzzle 6 with JSON and XML file

我很難將 cURL 轉換為 Guzzle6。 我想通過 JSON 和 XML 文件的內容發送名稱和引用 UUID 以處理到 REST 端點。

卷曲

curl -H 'Expect:' -F 
'request={"name":"test", "reference":"870e0320-021e-4c67-9169-d4b2c7e5b9c9"}' 
-F 'file=@sample.xml' http://ec2-48-88-173-9.us-east-1.compute.amazonaws.com:8180/rs/process

狂飲

$client = new Client(['debug' => true]);

$request = $client->request('POST',
    'http://ec2-48-88-173-9.us-east-1.compute.amazonaws.com:8180/rs/process', [
        'multipart' => [
            [
                'name' => 'data',
                'contents' => "{'name':'test','reference':870e0320-021e-4c67-9169-d4b2c7e5b9c9}",
                'headers' => ['Content-Type' => 'application/json']
            ],
            [
                'name' => 'file',
                'contents' => fopen('sample.xml', 'r'),
                'headers' => ['Content-Type' => 'text/xml']
            ],
        ]
    ]
);

$response = $request->getBody()->getContents();

另外,我不確定 'name' 字段應該是什么( 'name' => 'data' )等。

這是相當於 curl 命令的 Guzzle:

$client = new Client(['debug' => true]);

$request = $client->request('POST',
    'http://ec2-48-88-173-9.us-east-1.compute.amazonaws.com:8180/rs/process', [
        'multipart' => [
            [
                'name' => 'request',
                'contents' => "{'name':'test','reference':870e0320-021e-4c67-9169-d4b2c7e5b9c9}",
            ],
            [
                'name' => 'file',
                'contents' => fopen('sample.xml', 'r'),
            ],
        ]
    ]
);

$response = $request->getBody()->getContents();

對於file Guzzle 將指定適當的內容類型,就像 curl 一樣。 第一部分的名稱是request ——來自-F 'request={"name":"test", "reference":"870e0320-021e-4c67-9169-d4b2c7e5b9c9"}'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM