PHP使用参数将数据发布到url并获取响应

PHP使用参数将数据发布到url并获取响应,php,json,post,Php,Json,Post,为了通过考试,我从学校得到了一份小测验。问题是 这是您的个人URL:aHR0cHM6Ly9nZXQtY29kZS5waHA/dg9rzw49ztk5m2iwqzymvhnzc2mdnizmiwytg3nzaxmtbizjy2yjfhzgu0ma== 上面的URL是用一种流行的算法编码的。解码它 向该URL发送常规HTTP POST,并将以下内容作为“数据”参数发送: -JSON编码的关联数组,将您的电子邮件地址作为“电子邮件”键 您的个人代码将在回复中发回 所以我用base64解码了它 结果:

为了通过考试,我从学校得到了一份小测验。问题是

这是您的个人URL:aHR0cHM6Ly9nZXQtY29kZS5waHA/dg9rzw49ztk5m2iwqzymvhnzc2mdnizmiwytg3nzaxmtbizjy2yjfhzgu0ma==

  • 上面的URL是用一种流行的算法编码的。解码它
  • 向该URL发送常规HTTP POST,并将以下内容作为“数据”参数发送: -JSON编码的关联数组,将您的电子邮件地址作为“电子邮件”键
  • 您的个人代码将在回复中发回
  • 所以我用base64解码了它

    结果:

    我将数据发布到cur ulr,如下所示

    $url = 'https://get-code.php?token=e993b5ad3bea77603bfb0a8770110bf66b1ade40';
    $ch = curl_init($url);
    $jsonData = array(
    'email' => 'example@email.com'
    );
    
    
    $jsonDataEncoded = json_encode($jsonData);
    
    curl_setopt($ch, CURLOPT_POST, 1);
    
    curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
    
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
    
    $result = curl_exec($ch);
    extract($_POST);
    

    结果中没有任何内容,服务器没有响应任何内容

    您确定您可以通过Interwebz访问该URL,并且不仅可以通过DNS魔法通过您的大学网络访问该URL吗?因为
    .php
    不是@k0pernikus啊是的这是剪切的url,如果你想我可以发布整个url在你的情况下,我会尝试使用命令行
    curl
    ,或者更人性化的方式来处理请求:然后用php重新创建。我还发现php中的curl相当乏味,强烈建议使用该库。如果不知道确切的端点及其API,很难从远处判断用例中出了什么问题。代码失败的另一个原因可能是端点需要原始json,而您可能正在发布编码的数据表单。见: