2017-06-12 7 views
0

GETリクエストを使用してAPIにアクセスする必要がありますが、結果はAPIにアクセスする際にPHPでCURLを使用して301(Moved Permanently)エラーを処理するにはどうすればよいですか?

301 Moved Permanentlyです。

は、ここに私のコードです:私はこの問題はCURLOPT_POSTREDIRを追加することで解決できることを読んだ

$curl = curl_init(); 
    $url="https://xxx.yyy.com/zzz/v1.0"; 
    curl_setopt_array($curl, array(
       CURLOPT_URL => $url, 
       CURLOPT_RETURNTRANSFER => true, 
       CURLOPT_CUSTOMREQUEST => "GET", 
       CURLOPT_HTTPHEADER => array(
        "authorization: Bearer sadhuUasjhda" 
        ), 
        )); 

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

    curl_close($curl); 

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

    print_r($result);exit; 

、私はPOSTを使用したときにのみ働いています。

私はCURLOPT_FOLLOWLOCATIONを使用しようとしましたが、私は別の問題を取得し、その結果は

CURLエラー#のようなものです:SSL証明書問題:ローカル発行者証明書を取得できません。

参考までに、WindowsとXAMPPを使用しています。そして、私はこのpostの指示に従ってみましたが、結果は同じです。 Rendy回向Prastiyoへ

+0

であるあなたがCURLOPT_SSL_VERIFYPEER => falseを使用してみましたか? –

+0

ねえ、それほど感謝しています:) @RendyEkoPrastiyo –

+0

明瞭化/英語のために大文字の "I"とその他の編集があります。 – JYelton

答えて

1

おかげで、解決策は偽とtrueに設定CURLOPT_FOLLOWLOCATIONに設定CURLOPT_SSL_VERIFYPEERを追加しているので、コードが

$curl = curl_init(); 
$url="https://xxx.yyy.com/zzz/v1.0"; 
curl_setopt_array($curl, array(
      CURLOPT_URL => $url, 
      CURLOPT_RETURNTRANSFER => true, 
      CURLOPT_CUSTOMREQUEST => "GET", 
      CURLOPT_FOLLOWLOCATION => true, 
      CURLOPT_SSL_VERIFYPEER => false, 
      CURLOPT_HTTPHEADER => array(
       "authorization: Bearer sadhuUasjhda" 
       ), 
       )); 

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

curl_close($curl); 

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

print_r($result);exit; 
関連する問題