2017-07-03 9 views
0

私は、別のリモートdjangoサーバに取得要求をnginxサーバ上で実行されているPHPコードから送信しようとしています。シリアライザを使用してREST APIでデータを取得する予定です。私は私の地元のブラウザでこのリンクを開くとPHPの送信が情報を取得する要求を取得する

まず:

http://192.168.2.0:8000/myapp/documents/

私が取得します:

HTTP 200 OK 
Allow: GET, POST, HEAD, OPTIONS 
Content-Type: application/json 
Vary: Accept 

[ 
    { 
     "id": "000e3588-9544-4df6-a589-cc0166242b5b", 
     "docfile": "/media/documents/2017/06/30/DSC03623.JPG" 
    }, 
    { 
     "id": "3dc6be9f-8659-41d8-8282-b64662032da6", 
     "docfile": "/media/documents/2017/06/30/DSC03611_9KWbftQ.JPG" 
    }, 
    { 
     "id": "28eacb2d-0798-46e9-b63e-10ff704482ce", 
     "docfile": "/media/documents/2017/06/30/DSC03555.JPG" 
    } 
] 

と、これはまさに私が時に取得したい情報です私は私のPHPコードを実行します。

これは、私が働いていたもので、コメントの部分は、以前のある試みに失敗しました:私はここにだ最初のエコー

以外のものを印刷し、上記3回の試行の

<?php 
    echo "<h1>I am here</h1>"; 
    $url = "http://192.168.2.0:8000/myapp"; 

    /*$body = http_parse_message(http_get($url))->body; 
    $body = http_get($url); 
    echo $body;*/ 

    /*$client = new Client($url); 
    $request = $client->newRequest('/documents/'); 
    $response = $request->getResponse(); 
    echo $response->getParsedResponse();*/ 

    $r = new HttpRequest('http://192.168.2.0:8000/myapp/documents/', HttpRequest::METH_GET); 
    $r->send(); 
    echo $r->getResponseCode(); 
    if ($r->getResponseCode() == 200) 
    {  
      echo "<h2>we get 200 response</h2>"; 
    }  

?> 

+1

まず、ELSEを '} else {echo 'actual response ='のようにifに追加します。 $ r-> getResponseCode(); } 'そしてあなたが戻ってくるものを見る – RiggsFolly

+0

私はそれを追加し、何も表示されません。 他のPCのdjangoサーバを監視しているため、最初にelse文をintに追加しなかったのはなぜですか。私はPHPコードを実行すると、要求はdjangoに到達していません。 http接続が作成されていないかのように –

+0

他のサーバーで報告されているものを教えてください – RiggsFolly

答えて

0

最後に、これは私のために働いたコードです:

<?php 
    $ch = curl_init('http://192.168.2.0:8000/myapp/documents/'); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    $data = curl_exec($ch); 
    curl_close($ch); 
    echo $data; 
?> 

作業にはcUrlが必要です。 cUrlは通常PHPで有効になっています。スクリプトとして実行 にこのコードをダブルチェックするには、次の

<?php 
    phpinfo(); 
?> 

検索をして結果にカールが動作している場合。

関連する問題