当前位置: 首页 > 知识库问答 >
问题:

在PHP中不能使用Curl向API发送

淳于嘉树
2023-03-14
$url ="mysite.com/authentication/v1/gettoken?client_id=T9hq3zS1CedgVb1mAYECM&client_secret=03hRRTz&grant_type=authorization_code&code=vWnbF8G3UhvMe66-R37lM117LcxjeBLsFwEeLBAy&redirect_uri=mysite.com/testing.php";

$header = array("content-type: application/x-www-form-urlencoded");
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');

echo $retValue = curl_exec($ch);
echo '<br><br>';

//$response = json_decode(curl_exec($ch));
//$ee       = curl_getinfo($ch);
//print_r($ee);

print_r($retValue);

共有1个答案

董砚
2023-03-14

看起来API正在等待一个JSON字符串,所以尝试以下操作:

$headers = array ( "Content-Type: application/json" );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );

既然您使用的是POST,那么您可能应该发送一些内容:

$json = '{
    "fields": {
        "customfield": [
            "100"
        ]
    }
}';
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $json );

如果需要验证:

$username = "test";
$password = "test";
curl_setopt ( $ch, CURLOPT_USERPWD, $username . ":" . $password );
 类似资料:
  • 我想在网站中使用Php获取Api响应(在nodejs中创建),所以为此我使用了curl,但它不起作用,我尝试了以下代码,但不起作用(显示空白页面),我错在哪里?这是我的密码

  • 问题内容: 我想知道是否有可能在文件只是字符串的情况下发布文件以及其他表单数据? 我知道您可以通过在文件路径前面加上“ @”前缀来发布文件系统中已经存在的文件。 但是,我想绕过创建一个临时文件,而仅将该文件作为字符串发送,但是我不确定如何在PHP中使用cURL构造请求。 干杯 问题答案: 应该可以:这是通过浏览器发布的表格(忽略了不相关的字段): 因此,如果我们自己构建POST主体并设置一个或多个

  • 我需要为OAuth2.0获取access_token和refresh_token来访问Google API,下面的php脚本应该返回一个带有access_token和refresh_token的json,如下所示: 但是,php脚本只返回这个错误消息:

  • 本文向大家介绍php中curl使用指南,包括了php中curl使用指南的使用技巧和注意事项,需要的朋友参考一下 许多同学在第一次使用curl的时候感觉一个头两个大(包括我在内),看着这一条条的curl_setopt函数完全摸不着头脑,不过在你花10分钟看了我的介绍后相信你以后也能轻松戏耍php的curl了 首先,请看一个curl代码(花10秒钟,略看一遍,然后跳到后文) WTF,这到底是在做什么?

  • 问题内容: 如何使用cURL在PHP中进行RAW POST? 未经处理的原始帖子没有任何编码,我的数据存储在字符串中。数据应采用以下格式: 一种选择是手动编写要发送的整个HTTP标头,但这似乎不太理想。 无论如何,我是否可以仅将选项传递给curl_setopt(),这些选项表示使用POST,使用文本/纯文本以及从中发送原始数据? 问题答案: 我刚刚找到了解决方案,可以回答我自己的问题,以防其他人偶

  • 问题内容: 我正在存储Facebook用户ID和访问令牌。我可以将此信息发布到所选用户的留言墙上吗?在这里可以找到以下代码:http : //developers.facebook.com/docs/reference/api/post/ 我只是不确定如何用php运行它。 问题答案: