繁体   English   中英

如何使用php在HTTP POST请求中发送参数?

[英]How do I send parameters in an HTTP POST request with php?

我试图在php中发送POST请求,但是发布字段在url中。

 $project_no        = 1711;
 $group_name        = "name of group";

 $url = urlencode("http://api.example.org/v1/projects?auth_token=xsxxex-xxmczx-66mvmc-9133&project_no=" . $project_no . "&group_name=" . $group_name);

 $ch = curl_init($url);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
 $response = curl_exec($ch);
 curl_close($ch);

var_dump($response)

上面的代码返回一个错误,指出

bool(false)

我在这里做错了什么?

您需要将vars作为postfield并将其作为附加的curl参数发送:

$data = array('project_no' => $project_no, 'group_name' => $group_name);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

如果应用程序需要json,则可以先json_encode()$ data。

$json = json_encode($data);

curl_setopt($ch, CURLOPT_POSTFIELDS, $json);

我不知道您的应用程序的细节,但可能还需要将auth_token作为授权标头发送:

$headers = array(
                'Authorization': 'xsxxex-xxmczx-66mvmc-9133',
                //etc);


    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

暂无
暂无

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

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