我正在使用官方Php库和Codeigniter4开发一个shopify公共应用程序。我注册了shopify中的产品更新Web钩子,它向我的一个代码点火器控制器发送响应。
问题是在处理请求之后,我看到了如下空头值:
{“主机”:{},“用户-代理”:{},“内容-长度”:{},“接受”:{},“接受-编码”:{},“内容-类型”:{},“X转发-类型”:{},“X-转发-Proto”:{},“X Api-Version”:{},"X-Shopify-Hmac-Sha256":{},“X Product”:{},“Shop-Domain”:{},“Topic”:{},“Web钩子-Id”:{}
控制人是:
class ProdHook Extends Controller{
public function index(){
$headers = $this->request->headers();
print_r($headers);
}
}$this->trequest->headers()是返回空头值的。但是,当我用本机php函数getallheaders()替换它时,我可以得到所有的头值,而不会有任何问题。getallheaders()的输出是:
{“主机”:“e703.ngrok.io”,“用户-代理”:“Faradayv1.8.0”,“内容长度”:“2132”,“接受”:“/”,“接受-编码”:“gzip;q=1.0,deflate;q=0.6,identity;“q=0.3”、“内容-类型”:“应用程序/json”、“X-转发-转发”:“34.xx.xx.11”、“X-转发-Proto”:“https”、“X Api-Version”:“2021-10”、“X Hmac-Sha256”:“xxxxxxxx”、“X-Shopify-products”:“78803xxxxxx922”、"X-Shopify-Shop-Domain":"xxxxx.myshopify.com",“X-Shopify-主题”:“产品/更新”,"X-Shopify-Webhook-Id":"uasdhxxxxx-b30c-fdc6e6865609"}
我不知道怎么解决这个问题。我想坚持使用本地的codeigniter4。提前谢谢。
发布于 2021-11-19 20:03:43
您可以访问与
headers()方法一起发送的任何标头,该方法返回所有标头的数组,键作为标头的名称,该值是CodeIgniter\HTTP\Header的实例:
$headers = $this->request->headers();
array_walk($headers, function(&$value, $key) {
$value = $value->getValue();
});
print_r($headers);https://stackoverflow.com/questions/70016552
复制相似问题