質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

451閲覧

phpのcURLライブラリを使用してみたのですがうまくいきません。content_Type、NULLとなります。

cal_1

総合スコア23

cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/06/25 19:13

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$res = curl_exec($ch);

$info = curl_getinfo($ch);
var_dump($info);
curl_close($ch);

curl_getinfo($ch);
で通信内容を見れるという事でしたので見てみました。
["content_type"]=>NULLでしたのでここが問題かなと思います。

file_get_contents関数だと、問題なく取得できました。
$test = file_get_contents($url);
$res = mb_convert_encoding($test, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');
$res = json_decode($res, true);

curlでやる理由はphpで非同期でapiの取得をしたいと思ったからです。
javascriptでは非同期で取得できます。phpで取得したいです。
元々はapi取得が目的ではなく、色々試したいと思ったからです。
宜しくお願い致します。xamppのローカル環境で、windowを使用しています。apiは楽天の商品検索等です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2022/06/25 21:29

$res には、どのような値が入っていますか?
cal_1

2022/06/25 23:08

今改めて確かめてみました。 $test = file_get_contents($url); この時点ではjsonみたいな形式で""でくくられており、 $res = json_decode($test, true); この時にjsonに変わりました。 ※jsonの値が入っています。 $res = json_decode(→$test, true); json_decodeの第一引数間違えてました。 $res = mb_convert_encoding($test, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); ここはいらないかもしれないです。
CHERRY

2022/06/26 01:46

curl_exec の戻り値は、CURLOPT_RETURNTRANSFER オプション が設定されていると成功した場合に取得結果、失敗した場合に false になります。 > $res = curl_exec($ch); の $res の値は、どうなっていますか?
cal_1

2022/06/26 01:57

bool(false)となっています。
CHERRY

2022/06/26 02:27 編集

false であれば、 curl_exec での取得に失敗していますね。 curl_getinfo の結果で、 CURLINFO_RESPONSE_CODE は、何になっていますか?
cal_1

2022/06/26 02:35

$dd = curl_getinfo($ch, CURLINFO_HTTP_CODE); var_dump($dd); こちらのコードを打つと、 int(0)になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問