2

映画のdbapiについてサポートが必要です。接続タイムアウトエラーが常に発生します。以下は私のコードです。そこから作業できるように、生のjson応答を出力しようとしています。

$header_opt = array(
  'http'=>array(
  'method'=>"GET",
  'header'=>"Accept: application/json\r\n" .
            "Content-Type: application/json\r\n"
          )
);

$headers = stream_context_create($header_opt);

$rawjson = file_get_contents('http://api.themoviedb.org/3/movie/tt0076759?api_key=myapikey', false, $headers);

$cleansjon = json_decode($rawjson);

echo $cleansjon;

そして、これは私が得るエラーです。

Warning: filegetcontents(http://api.themoviedb.org/3/movie/tt0076759?api_key=myapikey) [function.file-get-contents]: failed to open stream: Connection timed out in /*///*/public_html/index.php on line 11

誰かがこれを手伝ってくれることを願っています。

編集:HAR応答を追加

{
  "log": {
    "version": "1.2",
    "creator": {
      "name": "WebInspector",
      "version": "537.20"
    },
    "pages": [
      {
        "startedDateTime": "2013-01-27T09:51:02.534Z",
        "id": "page_1",
        "title": "http://*MyWebsite*/tmdb.php",
        "pageTimings": {
          "onContentLoad": 60636,
          "onLoad": 60635
        }
      }
    ],
"entries": [
  {
    "startedDateTime": "2013-01-27T09:51:02.534Z",
    "time": 60197,
    "request": {
      "method": "GET",
      "url": "http://*MyWebsite*/tmdb.php",
      "httpVersion": "HTTP/1.1",
      "headers": [
        {
          "name": "DNT",
          "value": "1"
        },
        {
          "name": "Accept-Encoding",
          "value": "gzip,deflate,sdch"
        },
        {
          "name": "Host",
          "value": "*MyHost*"
        },
        {
          "name": "Accept-Language",
          "value": "nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4"
        },
        {
          "name": "User-Agent",
          "value": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.20 (KHTML, like Gecko) Chrome/25.0.1328.0 Safari/537.20"
        },
        {
          "name": "Accept",
          "value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
        },
        {
          "name": "Cache-Control",
          "value": "max-age=0"
        },
        {
          "name": "Connection",
          "value": "keep-alive"
        },
        {
          "name": "Accept-Charset",
          "value": "ISO-8859-1,utf-8;q=0.7,*;q=0.3"
        }
      ],
      "queryString": [],
      "cookies": [],
      "headersSize": 443,
      "bodySize": 0
    },
    "response": {
      "status": 200,
      "statusText": "OK",
      "httpVersion": "HTTP/1.1",
      "headers": [
        {
          "name": "Date",
          "value": "Sun, 27 Jan 2013 09:51:02 GMT"
        },
        {
          "name": "Content-Encoding",
          "value": "gzip"
        },
        {
          "name": "Server",
          "value": "Apache/2"
        },
        {
          "name": "Vary",
          "value": "Accept-Encoding,User-Agent"
        },
        {
          "name": "Content-Type",
          "value": "text/html"
        },
        {
          "name": "Connection",
          "value": "Keep-Alive"
        },
        {
          "name": "Keep-Alive",
          "value": "timeout=1, max=100"
        },
        {
          "name": "Content-Length",
          "value": "260"
        }
      ],
      "cookies": [],
      "content": {
        "size": 342,
        "mimeType": "text/html",
        "compression": 82
      },
      "redirectURL": "",
      "headersSize": 234,
      "bodySize": 260
    },
    "cache": {},
    "timings": {
      "blocked": 0,
      "dns": 13,
      "connect": 29,
      "send": 0,
      "wait": 60147,
      "receive": 5,
      "ssl": -1
    },
    "pageref": "page_1"
  }
   ]
  }
 }
4

2 に答える 2

1

Content-Typeヘッダーを削除できます。これは、HTTPPUTまたはPOSTを使用してJSONを送信する場合に必要になります。

エラーは、file_get_contentsがホストapi.themoviedb.orgから応答を受け取らないことを示しています

接続タイムアウトエラーが常に発生します。

constantly意味alwaysですか?often_

これが頻繁に発生する場合は、インターネットアップリンクまたは映画データベースサーバーのいずれかに問題があります。

于 2013-01-24T06:57:48.717 に答える
0

多分全く問題ありません。アプリケーションがサーバーに接続しようとすると、タイムアウトエラーが発生します。

于 2013-01-22T09:41:21.553 に答える