我正在尝试在GAE网站上设置两个PHP:一个用作Web服务层,另一个用作前端。到目前为止,事情都很棒。我正在尝试保护这两层之间的通信,这样我不仅可以调用我的Web服务。
我发现这篇文章谈到了发出请求,通过这样做,它可以设置 X-Appengine-Inbound-Appid 标头,这正是我想要的。 https://developers.google.com/appengine/docs/php/urlfetch/#PHP_Making_requests
要做到这一点,文章说我应该“考虑告诉UrlFetch服务在调用它时不遵循重定向。”;然后立即不提供任何关于你如何 DO 的文件。
我的请求如下:
$data = ['data' => 'this', 'data2' => 'that'];
$data = http_build_query($data);
$context = [
'http' => [
'method' => 'get',
'header' => "custom-header: custom-value\r\n" . "custom-header-two: custome-value-2\r\n",
'content' => $data,
]
];
$context = stream_context_create($context);
$result = file_get_contents('urlgoeshere', false, $context);
思考&感谢帮助!
答案 0 :(得分:3)
两种方法,将follow_location设置为false和/或将max_redirects设置为0。
$context = [
'http' => [
'method' => 'get',
'header' => "custom-header: custom-value\r\n" . "custom-header-two: custome-value-2\r\n",
'content' => $data,
'follow_location' => false,
]
];
或
$context = [
'http' => [
'method' => 'get',
'header' => "custom-header: custom-value\r\n" . "custom-header-two: custome-value-2\r\n",
'content' => $data,
'max_redirects' => 0,
]
];