dongqiao8417 2018-03-01 16:02
浏览 113
已采纳

如何将file_get_contents转换为cURL

For while I'm using file_get_contents, but idk why am I getting always error. i heard that cURL will not get that error.

Here is my code that i want to convert to cURL

<?php
$details1=json_decode(file_get_contents("http://2strok.com/download/download.json"));
 $details2=json_decode(file_get_contents($details1->data));
 header("Location: ".$details2->data); ?>

Nothing is wrong with this code on localhost, but when I do it on my web server (hosted by one.com) it doesn't work. It shows this error:

Warning: file_get_contents(url): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized

  • 写回答

1条回答 默认 最新

  • donglu4159 2018-03-01 16:14
    关注

    You may still get a 401 with curl but you can try the following

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://2strok.com/download/download.json");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, json_decode($output)->data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    
    header("Location: ".json_decode($output)->data);
    

    You can reuse the curl handle if you'd like

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://2strok.com/download/download.json");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_setopt($ch, CURLOPT_URL, json_decode($output)->data);
    $output = curl_exec($ch);
    curl_close($ch);
    
    header("Location: ".json_decode($output)->data)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备