curl请求中http头的几种格式
-
1、application/json(其实和text/plain都是一样的,json只是为了告诉接收者可以直接json解码) 对应postman上的RAW。
-
2、application/x-www-form-urlencoded 是form表单(enctype参数)的默认编码方式,
参数用&符号连接。get请求直接拼在URL后面,post请求参数在body里面。
-
3、multipart/form-data 当form需要上传文件的时候,就要将enctype设置为这个属性值了,
curl在使用 multipart/form-data 这种方式传递的时候,参数需要是数组的格式(数组格式会自动变为multipart/form-data编码), 文件对于php小于5,5版本的,使用 @文件全路径 表示,
但是对于大于php5.5的版本,需要curlfile方法来new一个特殊类型的对象(curl_file_create(‘文件的全路径’))。然后将这个对象放进请求的参数里面。
例如tp5:
$file = request()->file('file');
$get_filesize_byte = get_upload_max_filesize_byte();
$info = $file->validate(['size'=>$get_filesize_byte,'ext'=>'pdf'])->move($save_path,$save_name);
if(!$info){
return resultArray(['error'=>$file->getError()]);
}
$fileName =$save_path.DS.$info->getSaveName();
$this->postData['File'] = new \CURLFile(realpath($info->getRealPath()),$info->getMime());
$curl = curl_init