suchen

Heim  >  Fragen und Antworten  >  Hauptteil

php - laravel获取别人提供的api数据

别人给我一个url 还有参数是json类型的数组
我要在laravel请求这个url得到数据???具体代码该怎么实现

大家讲道理大家讲道理2827 Tage vor486

Antworte allen(4)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-05-16 13:04:43

    或者

            $url = 'http://www.baidu.com/';
            $data['param1'] = '数组参数';
            $data['param2'] = '数组参数';
            $params=json_encode($data) ;
            $result = file_get_contents($url.'?param='.$params);

    ---------------------------------下边是另一种方法了---------------------------------------------

    static function reqUrl($url,$params=false,$ispost=0){
            $httpInfo = array();
            $ch = curl_init();
    
            curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
            curl_setopt( $ch, CURLOPT_USERAGENT , 'Data' );
            curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
            curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
            curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
            if( $ispost )
            {
                curl_setopt( $ch , CURLOPT_POST , true );
                curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
                curl_setopt( $ch , CURLOPT_URL , $url );
            }
            else
            {
                if($params){
                    curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
                }else{
                    curl_setopt( $ch , CURLOPT_URL , $url);
                }
            }
            $response = curl_exec( $ch );
            if ($response === FALSE) {
                //echo "cURL Error: " . curl_error($ch);
                return false;
            }
            $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
            $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
            curl_close( $ch );
            return $response;
        }

    Antwort
    0
  • PHP中文网

    PHP中文网2017-05-16 13:04:43

    <?php
    header("Content-Type:text/html;charset=utf-8");
    $url = "http://www.xxx.cc/xxx";
    $params = [
        "xxx" => "xxxx",
        "xxxx" => "xxxx",
    ];
    
    $data_string = json_encode($params);
    
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                  
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen($data_string))
    );
    
    $result = json_decode(curl_exec($ch), true);
    
    curl_close($ch);
    
    print_r($result);

    Antwort
    0
  • 黄舟

    黄舟2017-05-16 13:04:43

    从接口获取数据?ajax或者curl吧

    Antwort
    0
  • 某草草

    某草草2017-05-16 13:04:43

    curl请求接口获取数据。可以使用下guzzlehttp/guzzle这个包,里面封装了curl的操作。

    Antwort
    0
  • StornierenAntwort