用于响应curl post请求的php代码

时间:2017-07-24 02:15:50

标签: php curl

我是cURL的新手,我正在设置一个测试环境,使用PHP发送cURL POST请求,然后我需要模拟服务器(响应)程序(PHP也),状态代码和有效负载。在查看和阅读cURL以及相应的文档和相关的RFC文档之后,请求方面有很多示例,但我找不到响应方面的相关示例。我的请求代码如下:

$url = 'http://localhost/curlresponder.php';  
              $fields =  array(
                   'City'            => urlencode('Hokeywaka'),
                   'State'           => urlencode('IL'),
                   'Zip'             => urlencode('60677'),
              );
              foreach($fields as $key => $value)
                     {$fields_string .= $key . "=" . $value . '&';}
                     rtrim($fields_string, '&');

              $ch = curl_init();

              curl_setopt($ch, CURLOPT_URL, $url);
              curl_setopt($ch, CURLOPT_POST, TRUE);
              curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

              $result = curl_exec($ch);

              curl_close($ch);
              if  ($result === FALSE)
                  {echo 'Return failure ' . '<br />';
              else
                  {Process $result;}

现在我需要知道响应的程序代码是什么 - 假设请求被接收并成功处理,响应代码200将被发送回附加有效负载(我收集的请求是POST后也是POST。

2 个答案:

答案 0 :(得分:0)

您只需要远程页面回发JSON脚本即可。通过Post back我只是在页面上回显一个JSON字符串。您可以在$ result var中使用它。您可能希望创建一个API访问密钥,以确保在您认为可能存在安全问题时,没有其他人使用它。

$result = curl_exec($ch);
$result = json_decode($result,true);
if ($result['status']=="ok"){
    echo "Good request";
}else{
    echo "Bad request";
}

答案 1 :(得分:0)

你可以使用curl_getinfo函数获取你想要的信息,以及像这样的代码

<?php
// Create a cURL handle

$ch = curl_init('http://www.stackoverflow.com/');

// Execute
curl_exec($ch);

// Check HTTP status code
if (!curl_errno($ch)) {
  switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
    case 200:  # OK
      break;
    default:
      echo 'Unexpected HTTP code: ', $http_code, "\n";
  }
}

// Close handle
curl_close($ch);
?>