0

私は次のURLを持っています

http://www.davesinclairstpeters.com/auto2_inventorylist?i=37647&c=12452&npg=1&ns=50&echo=2

curl を使用してこの URL のコンテンツを取得したいのですが、このリクエストを行うたびに、必要なパラメーターが渡されていないため、エラーが表示されます。

以下は私のコードです

    $ch = curl_init(); // CURL を開始
    curl_setopt($ch, CURLOPT_URL, $json_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPGET, true);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);      
    $response = curl_exec($ch);

4

3 に答える 3

3

そのページには、情報が適切に渡されていないことを示す情報はありません。実際、情報が受信されたことを示しています。ソースを表示すると、次のことがわかります。

<!--
javax.servlet.forward.request_uri = /auto2_inventorylist
...
javax.servlet.forward.servlet_path = /auto2_inventorylist
...
javax.servlet.forward.query_string = i=37647&c=12452&npg=1&ns=50&echo=2
-->

これは、情報が実際に受信されたことを示しています。

したがって、コードには問題はありませんが、Web サイト自体には問題ありません。使用している URL が有効であることを確認するか、その Web サイトに連絡して詳細情報を入手してください。

コード自体に関してはcurl_setopt($ch, CURLOPT_HTTPGET, true);、これはデフォルトですでに設定されているため必要ありません。また、URL をcurl_init関数の引数として渡すこともできます。パフォーマンスには影響しませんが、コードがすっきりします。

$ch = curl_init($json_url); // start CURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);      
$response = curl_exec($ch);
于 2012-09-06T18:53:07.980 に答える
2

コードはまったく問題ありません。何か間違ったものが返された場合は、この URL を Web ブラウザーに貼り付けて、結果を確認してください。この場合、ウェブサイトは何らかの理由で単に失敗しました。問題はあなたの側にないので、それについてあなたができることは何もありません。

于 2012-09-06T18:55:26.487 に答える