0

我对 curl 的概念和想法不熟悉。我想将波纹管值发布到远程服务器https://example.com/test/token。这些值为 client_secret=sk_test_dndkFknKdtMLhv0eA8OdcgW1 ,code=GH_Dgl12 ,grant_type=dsfgsdK。我怎样才能做到这一点?

4

2 回答 2

5

带有参数的 curl 帖子的简单示例:

<?php
//
// A very simple PHP example that sends a HTTP POST to a remote site
//

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.mysite.com/tester.phtml");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
        "client_secret=sk_test_dndkFknKdtMLhv0eA8OdcgW1, code=GH_Dgl12, grant_type=dsfgsdK");

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);

curl_close ($ch);

// further processing ....
if ($server_output == "OK") { ... } else { ... }

?>

选项 CURLOPT_RETURNTRANSFER 将使 curl_exec()返回响应,以便您也可以捕获它。

于 2013-03-08T05:09:10.597 回答
1
$url = 'http://domain.com/get-post.php';
$fields = array(
            'client_secret' => urlencode('sk_test_dndkFknKdtMLhv0eA8OdcgW1'),
            'code' => urlencode('GH_Dgl12'),
            'grant_type' => urlencode('dsfgsdK'),
        );

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);
于 2013-03-08T05:08:49.140 回答