为了账号安全,请及时绑定邮箱和手机立即绑定

php curl和浏览器访问脚本的方式究竟有什么不同?

php curl和浏览器访问脚本的方式究竟有什么不同?

PHP
呼唤远方 2019-03-14 23:12:19
php curl和浏览器访问脚本的方式究竟有什么不同?现在向一个api发起的请求用浏览器访问脚本的方式可以正确返回值,而用php-curl发送post的方式就返回错误值说content-length的值没有制定。这两者有什么不同?nginx代理过程中做了什么? $topic = 'topic'; $projectId = 'projectid'; $title = 'hahaha'; $content = 'lol'; $payload = array( 'message' => array( 'topic' => $topic, 'notification' => array( 'title' => $title, 'body' => $content, ) ) ); $json = json_encode(trim($payload)); $headers = array( 'Authorization:Bearer '.$this->getFcmApiAccessToken(), 'Content-Type: application/json; UTF-8', 'Content-Length:'.strlen($json),//'Content-length:0' ); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,"https://fcm.googleapis.com/v1/projects/{$projectId}/messages:send"); curl_setopt($ch,CURLOPT_POST, true ); curl_setopt($ch,CURLOPT_HEADER, 1); curl_setopt($ch,CURLOPT_HTTPHEADER,$headers); curl_setopt($ch,CURLOPT_RETURNTRANSFER, true); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch,CURLOPT_POSTFIELDS, $json); curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); var_dump($result);exit;
查看完整描述

3 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

content-length 错误就设置请求头就行了啊

查看完整回答
反对 回复 2019-03-18
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

一個是瀏覽器會幫你處理header請求頭,一個需要你自己拼裝,當然如果有cookie之類的,curl你還要自己設置

查看完整回答
反对 回复 2019-03-18
?
暮色呼如

TA贡献1853条经验 获得超9个赞

php 的 curl 一般也是不需要设置 content-length 的。

建议最好把 curl 相关的代码贴出来。

查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 727 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信