dongquan0024 2014-09-30 12:29
浏览 47
已采纳

目前php curl header set

I'm trying to make a post request to salesforce "api". however it accepts only content type which is explicitly set to "application/x-www-form-urlencoded"

When I do this:

curl_setopt_array($ch, array(
                CURLOPT_URL => 'https://www.salesforce.com/servlet/servlet.WebToLead',
                CURLOPT_RETURNTRANSFER => 1,
                CURLOPT_POST => 3,
                CURLOPT_POSTFIELDS => json_encode(array (
                        'first_name' => 'foo',
                        'last_name' => 'faa',
                        'email' => 'my.email@gmail.com',
                        'oid' => '#hash',
                        'recordType' => '#hash'
                )),
                CURLOPT_HTTPHEADER=>array(
                        'Content-type: application/x-www-form-urlencoded'
                )
        ));

        $data = curl_exec($ch);
        $info = curl_getinfo($ch);

The response headers content-type is always: "text/html;charset=UTF-8"

The same parameters I send using postman (with the correct header) actually works.

  • 写回答

1条回答 默认 最新

  • dongyuqie4322 2014-09-30 12:56
    关注

    When CURLOPT_POST is true, curl sets Content-Type of the request to application/x-www-form-urlencoded automatically; you don't need to do that manually. You can verify that (as well as check all other "outgoing" headers) by setting CURLINFO_HEADER_OUT to true prior to your request, then checking the array returned by curl_getinfo().

    I suspect your problem has nothing to do with the request headers but with how curl handles https. Setting these in your curl_setopt_array() should help:

    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => 2,
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵