php - 使用 guzzle 6 发送 (POST) xml 的正确方法

标签 php xml guzzle guzzle6

我想用 guzzle 发送一个 xml 文件来执行一个帖子。我没有找到例子。

到目前为止我所做的是:

$xml2=simplexml_load_string($xml) or die("Error: Cannot create object");
use    GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
$client = new Client();
//
$request = new Request('POST', $uri, [ 'body'=>$xml]);
$response = $client->send($request);
 //
//$code = $response->getStatusCode(); // 200
//$reason = $response->getReasonPhrase(); // OK
 //
 echo $response->getBody();

无论我尝试什么,我都会返回错误 -1,这意味着 xml 无效。 我发送的 XML 虽然通过了在线验证并且有效 %100

请帮忙。

最佳答案

这就是我在 Guzzle 6 上的工作方式:

// configure options
$options = [
    'headers' => [
        'Content-Type' => 'text/xml; charset=UTF8',
    ],
    'body' => $xml,
];

$response = $client->request('POST', $url, $options);

关于php - 使用 guzzle 6 发送 (POST) xml 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34726530/

相关文章:

php - 我应该为 PHP 中的 getter 和 setter 而烦恼吗?

php - 我的 PDO 代码是否有错误或需要在 MySQL 中修复某些内容?

php - 如何在 Guzzle6 中创建批处理请求?

php - 无法使用 try/catch 处理异常

php - 如何使用 PHP 和 Mysql DB 下载文件

php - 使用 $_REQUEST[] 有什么问题?

sql-server - XPath 从 sql 表列中读取值

php - 使用 xslt 转换将 xml 转换为 html

java - 想要在我的 Android 应用程序中显示密码切换/可见按钮

php - 无法从 Laravel 应用程序内部向 Paypal Connect 发送 POST 请求