Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过GAE上的URLFetch API发送用户代理标头_Php_Google App Engine - Fatal编程技术网

Php 通过GAE上的URLFetch API发送用户代理标头

Php 通过GAE上的URLFetch API发送用户代理标头,php,google-app-engine,Php,Google App Engine,我正在向我的API发送请求,如下所示: $context = stream_context_create( array( 'ssl' => array('verify_peer' => false, 'allow_self_signed' => true), 'http' => array('method' => 'GET', 'header' => "Authorization:Basic " . base64_e

我正在向我的API发送请求,如下所示:

$context = stream_context_create(
    array(
        'ssl' => array('verify_peer' => false,  'allow_self_signed' => true),
        'http' => array('method' => 'GET', 'header'  => "Authorization:Basic " . base64_encode($token.':'))
    )
);
$resp = file_get_contents('https://api.site.com/test', false, $context);

if(!preg_match("/200 OK/", $http_response_header[0]))   http_response_code(400);
else                                                    echo $resp;
然而,我正试图让
api.site.com
知道我的
HTTP\u USER\u代理发出请求的是什么


实现这一点的最佳方法是什么?

http
键下的流上下文选项中,在您的
Authorization:Basic
旁边添加
User Agent
标题。有关详细信息,请参阅

编辑:

标识请求源的标头

以下标题表示请求应用程序的应用程序ID:

  • 用户代理。此标头可以修改,但App Engine将附加一个标识符字符串,以允许服务器识别App Engine请求。附加字符串的格式为“AppEngine Google;(+;appid:appid)”,其中appid是应用程序的标识符

  • X-Appengine-Inbound-Appid。无法修改此标头,当follow redirects参数设置为False时,如果通过URL获取服务发送请求,则会自动添加此标头


只有在上面的header上下文选项中未指定user agent时,才会使用此值。
-因此,我使用的是Google App Engine,它发送的是user agent header,而不是发送请求的人的user agent,而是发送Gett的服务器。这是另一个故事。应用程序引擎的URLFetch服务将删除用户代理。很遗憾,您无法覆盖它。因此无法发送我需要的信息?我用更多详细信息编辑了答案,因此答案是“是”和“否”。或者“是”,但他们会附加自己的数据。我相信如果使用curl扩展,您应该能够设置自定义用户代理标头。