【问题标题】:GET API works from web browser and postman but not from php CURLGET API 适用于网络浏览器和邮递员,但不适用于 php CURL
【发布时间】:2021-08-04 10:43:08
【问题描述】:

我想从 PHP 代码中获取以下 API 的数据:

https://www.onthehouse.com.au/odin/api/marketstats/markets/trends/SHEIDOW+PARK/sa/5158?propertyType=House&timePeriod=1

当我在浏览器和邮递员中运行它时效果很好。

有人可以为此提供一个 PHP 代码 sn-p 吗?

我正在使用以下代码:


<?php

$curl = curl_init();

curl_setopt_array($curl,[
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'https://www.onthehouse.com.au/odin/api/marketstats/markets/trends/SHEIDOW+PARK/sa/5158?propertyType=House&timePeriod=1',
    CURLOPT_USERAGENT => 'whatever']);
$response = curl_exec($curl);

echo $response;
?>

谢谢,

【问题讨论】:

    标签: php api curl postman


    【解决方案1】:

    这里有一些东西可以帮助您入门。只做基础知识并为您的 API 工作。

    $request = curl_init();
    curl_setopt($request, CURLOPT_URL, 'https://www.onthehouse.com.au/odin/api/marketstats/markets/trends/SHEIDOW+PARK/sa/5158?propertyType=House&timePeriod=1');
    curl_setopt($request, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($request, CURLOPT_HTTPHEADER, ['Accept: application/json', 'Content-Type: application/json']);
    curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($request);
    curl_close($request);
    // output response
    var_dump($response);
    

    【讨论】:

    • 感谢您的回复。对此,我真的非常感激。但是,当我复制粘贴您的代码时,它仍然不显示 API 数据。让它工作会为我节省大量时间。非常感谢您进一步帮助解决此问题。非常感谢。
    • 奇怪的是,它曾经正确显示输出,这很棒,但现在它不断将我重定向到 404 页面,在 404 页面顶部有一点输出说“字符串(816)”跨度>
    • 可以,只是您使用的API服务需要您先完成验证码。如果你有办法解决这个问题,那么代码每次都可以工作。您可以通过将 url 更改为另一个 API 服务来测试代码是否有效。
    • 非常感谢,我不确定如何完成验证码。很遗憾我们快到了。我想我会在这里放弃。你知道如何完成这个特定 API 的验证码吗?谢谢你,
    • 对不起,我没有。我建议您寻求他们的支持并询问他们。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 2019-11-09
    • 2020-11-08
    • 2021-05-24
    • 2014-02-18
    • 2018-03-17
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多