dongtu1789 2015-09-27 23:41
浏览 23

将fsockopen转换为CURL PHP

I have a piece of code which do a fsockopen

      $url = 'http://abcd.com/def';
      $post_params[0] = 'eids='.urlencode($email);
      $post_params[1] = 'mhead='.urlencode($head);
      $post_params[2] = 'mcontent='.urlencode($content);
      $post_string = implode('&', $post_params);
      $parts=parse_url($url);
      $fp = fsockopen($parts['host'],isset($parts['port'])?$parts['port']:80,$errno, $errstr, 30);
      $out = "POST ".$parts['path']." HTTP/1.1
";
      $out.= "Host: ".$parts['host']."
";
      $out.= "Content-Type: application/x-www-form-urlencoded
";
      $out.= "Content-Length: ".strlen($post_string)."
";
      $out.= "Connection: Close

";
      if (isset($post_string)) $out.= $post_string;
      fwrite($fp, $out);
      fclose($fp);
      return 1;

I was trying to convert it to cURL, but couldn't success

Here is what i did

        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_URL, "http://abcd.com/def");
        curl_setopt($ch, CURLOPT_POSTFIELDS, array(
                'eids' => urlencode($email),
                'mhead' => urlencode($head),
                'mcontent' => urlencode($content)
            ));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
        curl_setopt($ch, CURLOPT_TIMEOUT, 2); 
        $response = curl_exec($ch); 
        curl_close($ch);   

        return $response;

Any idea?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
    • ¥20 软件测试决策法疑问求解答
    • ¥15 win11 23H2删除推荐的项目,支持注册表等
    • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
    • ¥15 qt6.6.3 基于百度云的语音识别 不会改
    • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
    • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
    • ¥15 lingo18勾选global solver求解使用的算法
    • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
    • ¥20 测距传感器数据手册i2c