如果我有一个如下所示的 URL:
$url = 'http://domain.com/?foo=bar';
然后执行 curl 如下:
$resource = curl_init();
curl_setopt($resource, CURLOPT_URL, $url);
curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($resource);
curl_close($resource);
我了解我通过 GET(默认)提出此请求。
现在,如果我在同一场景中设置以下选项:
curl_setopt($resource, CURLOPT_POST, 1);
我知道它使用 POST 而不是 GET,但它是否使用 POSTfoo
的值bar
?或者正确的方法是:
$url = 'http://domain.com/';
$post = 'foo=bar';
$resource = curl_init();
curl_setopt($resource, CURLOPT_URL, $url);
curl_setopt($resource, CURLOPT_POST, 1);
curl_setopt($resource, CURLOPT_POSTFIELDS, $post);
curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($resource);
curl_close($resource);
如果我这样做会发生什么(即在 URL 中并通过 CURLOPT_POSTFIELDS 提交值):
$url = 'http://domain.com/?foo=bar';
$post = 'foo=bar';
$resource = curl_init();
curl_setopt($resource, CURLOPT_URL, $url);
curl_setopt($resource, CURLOPT_POST, 1);
curl_setopt($resource, CURLOPT_POSTFIELDS, $post);
curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($resource);
curl_close($resource);
在那种情况下如何提交数据?