繁体   English   中英

file_get_contents和PHP中的CURL

[英]file_get_contents and CURL in PHP

嗨,我正在尝试从以下网址获取信息:

API链接

我在PHP中尝试了CURL和file_get_contents,但无法获得该请求。

当我使用file_get_contents时:

警告:file_get_contents( https://www.adx.ae/zh/_vti_bin/ADX/svc/trading.svc/ListedCompanyOrderBook?listedCompanyID=ADIB ):无法打开流:HTTP请求失败! HTTP / 1.1 400错误请求

当我使用CURL时,我得到以下消息:

错误图片

以下是file_contents代码:

<?php 

    $url = "https://www.adx.ae/en/_vti_bin/ADX/svc/trading.svc/ListedCompanyOrderBook?listedCompanyID=ADIB";
    $data = file_get_contents($url);

    print_r($data);
?>

另一种方法:

<?php 

    $url = "https://www.adx.ae/en/_vti_bin/ADX/svc/trading.svc/ListedCompanyOrderBook?listedCompanyID=ADIB";


    $data = file_get_contents($url);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    $data = curl_exec($ch);
    curl_close($ch); 

    print_r($data);
?>

我认为您正在http://www.phpfiddle.org/上运行此代码。出于安全原因,该站点上的curl被禁用。 如果这是您的php服务器,请尝试这样,

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://www.adx.ae/en/_vti_bin/ADX/svc/trading.svc/ListedCompanyOrderBook?listedCompanyID=ADIB",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET"
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM