在php curl中设置多部分头的mime类型而不传递文件

在php curl中设置多部分头的mime类型而不传递文件,php,rest,curl,Php,Rest,Curl,这能做到吗?我看到这样的例子 curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'variable' => '@path/to/file;type=application/json' )); 但如果将字符串作为变量值传递,则无法设置此mime类型。我与之接口的API明确要求将此mime类型设置为application/json,但除非使用文件,否则我似乎无法使用curl库进行设置。例如: curl_setopt($ch, CURLOPT_POST

这能做到吗?我看到这样的例子

curl_setopt($ch, CURLOPT_POSTFIELDS, array(
  'variable' => '@path/to/file;type=application/json'
));
但如果将字符串作为变量值传递,则无法设置此mime类型。我与之接口的API明确要求将此mime类型设置为application/json,但除非使用文件,否则我似乎无法使用curl库进行设置。例如:

curl_setopt($ch, CURLOPT_POSTFIELDS, array(
  'variable' => 'json_string;type=application/json'
));
仅输出一个字符串,末尾附加type=application/json(这很有意义),以及类似的内容

curl_setopt($ch, CURLOPT_POSTFIELDS, array(
  'variable' => sprintf('@%s;type=application/json', $json_string)
));
无法将任何内容传递到服务器,表面上是因为它找不到文件(?)


关于如何在不写临时文件或写我自己的post请求的情况下显式设置此mime类型,您有什么想法吗?

您是舒尔公司的,想在post字段中设置mime类型吗

您可能希望在http请求头中进行如下设置:


CURLOPT_HTTPHEADER=>array('Content-Type:application/json'),

您是舒尔公司的员工,您想在post字段中设置mime类型吗

您可能希望在http请求头中进行如下设置:


CURLOPT_HTTPHEADER=>array('Content-Type:application/json'),

您是否尝试过通过CURLOPT_HTTPHEADER设置
Content-Type
头?没有curl,我曾经使用
头('Content-Type:application/json')更改了响应头的
Content-Tyepe
@mario-这设置了HTTPHEADER的内容类型,我需要设置单个表单元素的内容类型…@SilentAssassin-我需要更改请求中表单元素的单个mime类型,没有响应,我是客户端,不是服务器。好的,我明白了。然后,您需要构造一个。每个手工艺品都可以,但也可能是一个选项(不仅仅是邮件)。您是否尝试过通过CURLOPT_HTTPHEADER设置
内容类型
标题?没有curl,我曾经使用
标题('Content-Type:application/json')更改了响应标题的
内容类型
@mario-这设置了HTTPHEADER的内容类型,我需要设置单个表单元素的内容类型…@SilentAssassin-我需要更改请求中表单元素的单个mime类型,没有响应,我是客户端,不是服务器。好的,我明白了。然后,您需要构造一个。每个手工艺品都可以,但也可能是一个选项(不仅仅是邮件)。不,不幸的是,API正在检查HTTPHEADER内容类型是否为“multipart/form data”,单个mime类型是否为“application/json”。是的,它们都在检查。不,不幸的是API正在检查HTTPHEADER内容类型是否为“multipart/form data”,以及单个mime类型是否为“application/json”。是的,他们都在检查。