我正在全互联网上尝试所有解决方案,但我无法获得它。
我试图连接使用php curl到一个外部API发送json数据,但我不能设置content_type。
$url = "https://example.com:xxxx/api/example";
$data = array(
'example' => '1',
'example2' => '2'
);
$jsonData = json_encode($data);
$ch = curl_init($url);
if(extension_loaded('curl') == true){
echo('Curl is active<br/>');
} else {
echo('Curl is NOT active<br/>');
}
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type:application/json',
'Connection: Keep-Alive'
));
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 300); //timeout in seconds
$result = curl_exec($ch);
echo('<hr/>');
var_dump(curl_getinfo($ch));
echo('<br/>');
echo curl_errno($ch) . '<br/>';
echo curl_error($ch) . '<br/>';
echo('<hr/>');
curl_close($ch);
echo('<br/>Response: ');
var_dump($result);
答复:
旋度是活动的
数组(26){["url"]=
7.
无法连接到https://example.com端口xxx:连接被拒绝
答复:bool(假)
...
如果我尝试通过SoapUi:
HTTP/1.1 200 Vary:Origin Vary:访问-控制-请求-方法Vary:访问-控制-请求-报头Vary:Origin Vary:访问-控制-请求-方法Vary:访问-控制-请求-报头X-内容-类型-选项:nosnff X-XSS-保护:1;模式=块缓存-控制:无缓存,无存储,最大年龄=0,必须重新验证Pragma:无缓存过期: 0严格传输安全:最大年龄=31536000;包括子域X帧选项: DENY内容类型:文本/平原;字符集=UTF-8内容长度: 42日期:周四,11六月2020 09:29:46格林尼治标准时间保持活力:超时=60连接:保持活力
正确回答
但是我需要在PHP上做。有什么帮助吗?
这是关于https,现在我得到:
Response: string(34) "xxxxxxxxxxxxxxxxx"
谢谢@ADyson
null 当我创建正文部分时,我是否应该显式地设置top mime消息的内容类型,然后设置每个正文部分? 如果是,在上面的例子中它们应该是什么? 对于html建议,对于附件建议,对于内联建议。我正在使用所有这些,那么对于完整的消息和不同的主体部分应该是什么内容类型? 通过上面的代码,我得到了正确的html文本,纯文本,内联图像和附件在正确的地方与James集成的ThunderBird。 因此,我不
问题内容: 我有一个映射有以下注释的控制器: 我返回了一个有效的JSON字符串,但是,当我在浏览器中的Chrome Dev Tools上查看响应时,内容类型不是唯一的。为什么未设置内容类型? 我的: 我的: 使用WildFly 8.1作为我的应用服务器。 问题答案: 要了解的第一件事是,在元素 仅用于限制请求处理程序的映射。 它什么也没做。 然后,假设您的方法的返回类型为,并带有注释,则将通过处理
我在请求处理程序周围编写了一种包装器,使它们流式传输HTTP响应。我现在得到的是 处理程序响应包装器: 控制器: 我所做的只是每隔半秒发送一个空字符串,以保持请求的活动状态。某些工具需要在超时时不关闭它。这里的问题是,我在响应中没有看到任何内容类型头。尽管我从我的控制器方法返回ResponseEntity,但什么都没有,正如这条线程中所说: https://github.com/spring-pr
问题内容: 我正在使用Flask,并且从get请求返回一个XML文件。如何将内容类型设置为xml? 例如 问题答案: 尝试这样: 实际的Content-Type基于mimetype参数和字符集(默认为UTF-8)。
我试图设置请求的内容类型标题,但是okhttp会自动将内容类型添加到标题列表的末尾,并将其设置为application/json;charset=UTF-8,尽管我只是将其设置为application/json。 还有其他人经历过吗?如果是的话,我可以提出请求。 我发现okhttp没有通过fiddler正确发送此标头。
我无法在HttpClient上设置内容类型。我接着问了一个问题:如何为HttpClient请求设置Content-Type头?但还是没有运气。 所以我怎么能强迫它,这样它就真的添加了它呢?提前道谢。