繁体   English   中英

针对Web API在PHP上使用curl设置路径HTTP GET Request

[英]Setting a path HTTP GET Request using curl on PHP, for web API

我正在使用teamviewer API开发web_app。 根据文档 ,它使用HTTP请求(GET,POST等)工作。

我不知道如何使用CURL在PHP上进行请求。 文档说是这样做的:

POST /api/v1/oauth2/token HTTP/1.1
Host: webapi.teamviewer.com
Content-Type: application/x-www-form-urlencoded

所以我写了这个

$url = 'webapi.teamviewer.com';
$headers = array(
    'GET /api/v1/oauth2/authorize HTTP/1.1',
    'Content-type: application/x-www-form-urlencoded'
);
//data
$data = [
    'response_type' => 'authorization_code',
    'redirect_uri' => 'https%3A%2F%2FTesting%2Ecom%2F',
    'client_id'   => '65671-XDdsxUNyxGmskcJHQgLC'
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

我只是不知道如何将请求指示为HTTP/1.1和路径/api/v1/oauth2/authorize 我将其放在标题中,但我确定它不会在那里。

我曾经在嵌入式C上工作,我记得首先连接到主机,然后将GET path HTTP / 1.1作为命令编写。

您的$url应该是完整路径,就像普通的URL一样。 原来如此

$url = 'webapi.teamviewer.com/api/v1/oauth2/authorize';

而且您可以从$headers删除GET ...部分,因为URL(路径)不在其中。

那应该在那之后工作。 如果您想了解有关curl连接及其发生情况的更多信息,请添加以下选项:

curl_setopt($ch, CURLOPT_VERBOSE, true);

curl选项的完整列表curl_setoptPHP手册页上

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM