卷曲张贴到远程服务器
问题描述:
我是curl的概念和想法的新手。我想将波纹管值张贴到远程服务器https://example.com/test/token。值为client_secret = sk_test_dndkFknKdtMLhv0eA8OdcgW1,code = GH_Dgl12,grant_type = dsfgsdK。 我该怎么做?你PARAMS卷曲后的卷曲张贴到远程服务器
答
简单的例子:)
<?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(返回响应,使你可以捕捉它。
答
$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);
非常感谢shaddy..can我可以捕获该服务器的响应? – DjangoDev 2013-03-08 05:10:25
是的,你可以设置curl_setopt($ curl,CURLOPT_RETURNTRANSFER,true);在调用curl_exec之前调用 。然后,响应将被分配给$ result :) – shaddy 2013-03-08 05:21:50