Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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
如何在Postfields中的curl请求中写入输出php变量_Php_Json_Curl - Fatal编程技术网

如何在Postfields中的curl请求中写入输出php变量

如何在Postfields中的curl请求中写入输出php变量,php,json,curl,Php,Json,Curl,我正在创建插件,我需要使用curl请求获取数据。这是我的密码 $userName = 'admin'; $password = '123456'; $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_SSL_VERIFYPEER => false, CURLOPT_URL => "https://apis.tcscourier.com/production/v1/cod/create-order", C

我正在创建插件,我需要使用curl请求获取数据。这是我的密码

$userName = 'admin';
$password = '123456';

$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_URL => "https://apis.tcscourier.com/production/v1/cod/create-order",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 60,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "
{\"userName\":\"<?php $userName ?>\",\"password\":\"<?php $password ?>\",\"costCenterCode\":\"2705\",\"consigneeName\":\"Nabeel Khan\"}
",
CURLOPT_HTTPHEADER => [
"X-IBM-Client-Id: 9b9fc7fa5fc4",
"accept: application/json",
"content-type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);
$userName='admin';
$password='123456';
$curl=curl_init();
curl_setopt_数组($curl[
CURLOPT_SSL_VERIFYPEER=>false,
CURLOPT_URL=>”https://apis.tcscourier.com/production/v1/cod/create-order",
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_编码=>“”,
CURLOPT_MAXREDIRS=>10,
CULLOPT_超时=>60,
CURLOPT_HTTP_VERSION=>CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST=>“POST”,
CURLOPT_POSTFIELDS=>”
{\'userName\':\“\”、\'password\':\“\”、\'costCenterCode\':\'2705\'、\'delegename\':\'Nabeel Khan\'}
",
CURLOPT_HTTPHEADER=>[
“X-IBM-Client-Id:9b9fc7fa5fc4”,
“接受:应用程序/json”,
“内容类型:应用程序/json”
],
]);
$response=curl\u exec($curl);
$err=curl\u error($curl);

但是CURLOPT_POSTFIELDS中的$username和$password变量不工作或不输出。所以我想知道如何在CURLOPT_POSTFIELDS中输出变量?

只需将一个数组传递给curl,它就可以为您完成繁重的工作:

CURLOPT_POSTFIELDS => ['userName' => $username, 'password' => $password, ...],
编辑:我刚刚注意到,您尝试发送一个JSON负载,然后必须首先对数据进行编码:

CURLOPT_POSTFIELDS => json_encode(['userName' => $username, 'password' => $password, ...]),

好的,我用$book\u packet\u array=array('userName'=>'printed.mobilee','password'=>'qwe1122','costCenterCode'=>'2705','delegename'=>'Iqbal Khan',);和CURLOPT_POSTFIELDS=>$book_packet_array,但得到以下错误{“httpCode”:“400”,“httpMessage”:“错误请求”,“moreInformation”:“请求体(预期为JSON)无效,无法解码。对象{或数组[预期为]。}您看到我的编辑了吗?
CURLOPT_POSTFIELDS=>JSON_encode($book\u packet\u array)
应该可以用。谢谢:)可以用