![](/img/trans.png)
[英]Signing on our website with Docusign FULL API with PHP Curl but need CURLOPT_POSTFIELDS and CURLOPT_URL
[英]PHP curl: CURLOPT_URL, CURLOPT_POST, and CURLOPT_POSTFIELDS
如果我有一个如下所示的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,但是然后使用值为bar
POST foo
吗? 或者正确的方法是:
$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);
如何在该场景中提交数据?
POST和GET之间的区别在于服务器如何检索数据。 由于您已将CURLOPT_POST设置为true,因此服务器通常通过CURLOPT_POSTFIELDS值(即HTTP正文中的参数)接收参数,并且可能忽略URL字符串中发送的参数 - 但这实际上取决于单个服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.