概述
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
或者以数组格式时:
CURLOPT_HTTPHEADER => array('Content-Type: application/x-www-form-urlencoded')
Content-Type
application/json(其实和text/plain都是一样的,json只是为了告诉接收者可以直接json解码) 对应postman上的RAW。
application/x-www-form-urlencoded 是form表单(enctype参数)的默认编码方式,参数用&符号连接。get请求直接拼在URL后面,post请求参数在body里面,需要key=value&key=value这种,也就是需要http_build_query
multipart/form-data 当form需要上传文件的时候,就要将enctype设置为这个属性值了,curl在使用 multipart/form-data 这种方式传递的时候,参数需要是数组的格式(数组格式会自动变为multipart/form-data编码), 文件对于php小于5,5版本的,使用 @文件全路径 表示,不加请求头时默认就是这个格式,但是对于大于php5.5的版本,需要curlfile方法来new一个特殊类型的对象(curl_file_create('文件的全路径'))。然后将这个对象放进请求的参数里面。
不加头部则默认为multipart/form-data格式!
multipart/form-data用array格式传送,
content-type为x-www-form-urlencoded时用key=value&key=value(键值对)的形式传送。
curl:在接收端,发现使用POST是接收不到数据的,当然_REQUEST也是一样,那么我们传的JSON数据哪里去了呢?怎么才能接收到传递的JSON数据?
使用如下方法:
$GLOBALS[‘HTTP_RAW_POST_DATA’];
file_get_contents('php://input');
最后
以上就是饱满钢笔为你收集整理的curl设置CURLOPT_HTTPHEADER请求头的全部内容,希望文章能够帮你解决curl设置CURLOPT_HTTPHEADER请求头所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复