如何将file_get_contents转换为cURL

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将file_get_contents转换为cURL相关的知识,希望对你有一定的参考价值。

虽然我正在使用file_get_contents,但是idk为什么我总是会出错。我听说cURL不会得到那个错误。

这是我想要转换为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); ?>

这个代码在localhost上没有任何问题,但是当我在我的Web服务器(由one.com托管)上执行它时,它不起作用。它显示了这个错误:

警告:file_get_contents(url):无法打开流:HTTP请求失败! HTTP / 1.1 401未经授权

答案

您仍然可以获得401卷曲,但您可以尝试以下方法

$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);

如果您愿意,可以重复使用卷曲手柄

$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)

以上是关于如何将file_get_contents转换为cURL的主要内容,如果未能解决你的问题,请参考以下文章

如何将xml文件转换为php数组? [复制]

file_get_contents('php://input') 数据如何转换成数组

在 osx 上使用 xld 在命令行中拆分 cued 音频文件

如何将十六进制字符串转换为R中的文本?

将 PDF 转换为字符串 [关闭]

将 CudnnGRU 参数转换为正常的权重和偏差