【问题标题】:php code for a response to a curl post request用于响应 curl 发布请求的 php 代码
【发布时间】:2017-12-29 12:21:43
【问题描述】:

我是 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。

【问题讨论】:

标签: php curl


【解决方案1】:

你可以使用函数 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);
?>

【讨论】:

  • 如果您详细说明您的答案会更好,而不是仅仅提及可能的解决方案并链接到它;为什么不写一个简短的 sn-p 来展示该函数的用法?
  • 对不起,我只是认为这是基本功能,链接页面有一些测试代码。对不起
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2015-12-06
    • 2022-11-29
    • 2021-05-22
    • 2020-12-30
    • 1970-01-01
    • 2013-11-18
    • 2012-05-05
    • 1970-01-01
    • 2017-11-21
    相关资源
    最近更新 更多