gpt4 book ai didi

PHP 发布到 REST Web 服务

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:46 25 4
gpt4 key购买 nike

我对 REST Web 服务完全陌生。我需要使用 php 将一些信息发布到 REST Web 服务,并使用响应为用户提供产品(响应是产品的代码)。我的任务: 1)HTTP方法是post 2)请求体为XML 3) Headers 需要有一个 API key ex: some-co-APIkey: 4325hlkjh 4) 响应是xml,需要解析。我的主要问题是如何设置 header 以使其包含 key ,如何设置正文以及如何获得响应。我不确定从哪里开始。我敢肯定这很简单,但是由于我从未见过它,所以我不确定如何处理。如果有人可以给我一个例子,那就太好了。在此先感谢您提供的所有帮助。

我是这样想的;

  $url = 'webservice.somesite.com';

$xml = '<?xml version="1.0" encoding="UTF-8"?>
<codes sku="5555-55" />';
$apiKey = '12345';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);

## For xml, change the content-type.
curl_setopt ($ch, CURLOPT_HTTPHEADER, $apiKey);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // ask for results to be returned
if(CurlHelper::checkHttpsURL($url)) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}

// Send to remote and return data to caller.
$result = curl_exec($ch);
curl_close($ch);

这看起来对吗?

最佳答案

你应该使用 cURL为了这。您应该阅读文档,但这是我编写的一个函数,可以帮助您。根据您的目的修改它

function curl_request($url,  $postdata = false) //single custom cURL request.
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_URL, $url);

if ($postdata)
{
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
}

$response = curl_exec($ch);

curl_close($ch);

return $response;
}

至于 XML,php 有一些很好的解析它的函数。查看simplexml .

关于PHP 发布到 REST Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com