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)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据