正文中的 Guzzle HTML 个标签

Guzzle HTML tags in body

我需要通过 Guzzle 在 POST 的 BODY 中发送 HTML 组件。

这些是 HTML 标签:

$strData = "<p style='background:url(/clear.png?org_id=1snn5n9w&amp;session_id=123456789&amp;m=1)'>< / p >
<img src='/clear.png?org_id=1snn5n9w&amp;session_id=123456789&amp;m=2' alt=''>";

我的 Guzzle 代码是:

$client = new GuzzleHttp\Client(['base_uri' => 'https://thirdURL.com/Test.htm', 'http_errors'=>true]);

$resH = $client->post('https://thirdURL . com/Test.htm',[
            'form_params' =>['body' => $strData]]);

这是通过 Guzzle 发送此类对象的正确方法吗? 感谢您的帮助。

此致。

如果您不尝试将数据作为查询参数发送(想想表单提交),则无需使用 "form_params"。

如果您只想在正文中包含所需的 html 字符串,您应该能够执行以下操作:

$resH = $client->post('https://thirdURL.com/Test.htm',[
    'body' => $strData,
]);

阅读 Post Requests

上的 Guzzle 文档可以获得更多信息

'form_params' 请求选项本质上是一种快捷的执行方式:

$response = $client->post($uri, [
    'headers' => [
        'Content-Type' => 'application/x-www-form-urlencoded',
    ],
    'body' => http_build_query($form_params_array),
])

所以本质上,对于您的特定用例,您的 http 请求正文将包含 post 查询和 html 内容。

您 'will it work?' 问题的答案很简单(尽管没有帮助)-- "I don't know"。归根结底,这完全取决于服务器将接受什么。