加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP curl:CURLOPT_URL,CURLOPT_POST和CURLOPT_POSTFIELDS

发布时间:2020-12-13 17:12:11 所属栏目:PHP教程 来源:网络整理
导读:如果我有一个如下所示的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_c
如果我有一个如下所示的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,1);
curl_setopt($resource,CURLOPT_POSTFIELDS,$post);
curl_setopt($resource,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,1);
$result = curl_exec($resource);
curl_close($resource);

如何在该场景中提交数据?

解决方法

POST和GET之间的区别在于服务器如何检索数据.由于您已将CURLOPT_POST设置为true,因此服务器通常通过CURLOPT_POSTFIELDS值(即HTTP正文中的参数)接收参数,并且可能忽略URL字符串中发送的参数 – 但这实际上取决于单个服务器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读