gpt4 book ai didi

php - 使用 CURL 发送自定义 header

转载 作者:可可西里 更新时间:2023-10-31 22:07:33 25 4
gpt4 key购买 nike

我想通过 API 向 Web 服务发送请求,如下所示,我必须通过一个自定义的 http header (哈希),我正在使用 CURL,我的代码似乎可以工作,但我没有得到正确的回应,我被告知它与哈希值有关,尽管该值具有被认为是正确的,我传递它的方式有什么问题吗?代码本身。

 <?php
$ttime=time();
$hash="123"."$ttime"."dfryhmn";
$hash=hash("sha512","$hash");
$curl = curl_init();
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Hash:$hash'));
curl_setopt ($curl, CURLOPT_URL, 'http://web-service-api.com/getresult.xml?clientid=456&time=$ttime');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$xml = curl_exec ($curl);

if ($xml === false) {
die('Error fetching data: ' . curl_error($curl));
}
curl_close ($xml);

echo htmlspecialchars("$xml", ENT_QUOTES);

?>

最佳答案

如果您需要在 php 中获取和设置自定义 http header ,以下简短教程非常有用:

发送请求 header

$uri = 'http://localhost/http.php';
$ch = curl_init($uri);
curl_setopt_array($ch, array(
CURLOPT_HTTPHEADER => array('X-User: admin', 'X-Authorization: 123456'),
CURLOPT_RETURNTRANSFER =>true,
CURLOPT_VERBOSE => 1
));
$out = curl_exec($ch);
curl_close($ch);
// echo response output
echo $out;

读取自定义 header

print_r(apache_request_headers());

你应该看到

Array
(
[Host] => localhost
[Accept] => */*
[X-User] => admin
[X-Authorization] => 123456
[Content-Length] => 9
[Content-Type] => application/x-www-form-urlencoded
)

使用 PHP CGI 自定义 header

在 .htaccess 中

RewriteEngine On
RewriteRule .? - [E=User:%{HTTP:X-User}, E=Authorization:%{HTTP:X-Authorization}]

从 $_SERVER 读取自定义 header

echo $_SERVER['User'];    
echo $_SERVER['Authorization'];

资源

关于php - 使用 CURL 发送自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13770910/

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