![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
$strTextA = file_get_contents($url);
とした場合に例えば
$actor = '俳優の名前' ;
$url = 'http://hogehoge.org/wiki/' . urlencode( $actor ) ;
とすると、そのページを入手できますが、さらに_や()がついているページ
$url = 'http://hogehoge.org/wiki/' . urlencode( $actor . '_(俳優)') ;
とすると、ページは存在するのにそのページを入手することができません。
(wikiなどでよく俳優さんは曖昧性排除の為に
後ろにXXX_(俳優) というURL表記になっていてますが、これを入手したい)
特に2つのページに差がある訳でもなさそうなので
urlの指定の仕方に問題があると思ってます
括弧やアンダーラインなどの処理でurlencodeに加えて
何かやり方があれば、教えてください
No.1ベストアンサー
- 回答日時:
見た感じ大丈夫なような気がしますが
なにか根本的な見落としはありませんか?
<?PHP
$u1="http://ja.wikipedia.org/wiki/%E7%94%B0%E6%9D%91% …
$u2="http://ja.wikipedia.org/wiki/".urlencode("田村亮_(俳優)");
print $u1===$u2?"OK":"NG";;
この回答への補足
yambejpさん
早速のご回答ありがとうございます。
確かにurlencodeした文字列$u2は、こちらの環境でも$u1と一致します。
しかし、その$u1もしくは$u2をfile_get_contentsしようとすると
HTTP/1.0 403 Forbiddenといわれます。手入力では、そのHomepageにアクセスできます。
具体的例では
<?php
$actor = "森雅之" ;
echo "役者:" . $actor;
$urlA = 'http://ja.wikipedia.org/wiki/' . urlencode( $actor ) ;
$urlB = 'http://ja.wikipedia.org/wiki/' . urlencode( $actor . "_(俳優)") ;
$str = file_get_contents($urlB);
if (!($str)) {
$str = file_get_contents($urlA);
}else{
echo "役者:" . $actor. "_(俳優)" ;
}
として
$urlAも$urlBも存在するHomePageなんですが$urlBは
Warning: file_get_contents(http://ja.wikipedia.org/wiki/%E6%A3%AE%E9%9B%85% … [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
とはじかれるので、同じwikipediaで片方だけはじかれているし
file_get_contentsの使い方に問題あると考えている訳なのです
いろいろ試行錯誤してみるも未だに原因の解決には至っておらず
データの入手ができない状況ではありますが、大変勉強になりました
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ゴミ出し・リサイクル 切り抜きした後の雑誌の処分の仕方 7 2022/11/01 18:58
- その他(インターネット接続・インフラ) ブラウザにIPアドレス入力した時 1 2022/06/16 19:08
- 文学・小説 スティーブンキングの小説って死ぬほど読みづらくないですか?情景描写や人物描写、心情描写が異常に長く( 4 2022/10/04 18:51
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- 英語 市販テキストで分からない英文について、教えてください。 1 2023/07/12 22:33
- 俳優・女優 めちゃくちゃ 俳優 女優 多いではないですか?? 舞台 映画 ドラマの役の枠は決まっているし。 主役 3 2023/04/11 08:03
- Mac OS Macで今あるファイルの連番(ページ番号)に足し算をしてリネームしたい 1 2022/10/12 17:22
- Visual Basic(VBA) VBAでWEBサーバー上に保存されたPDFファイルのリンク有効チェックについて 1 2022/11/11 16:04
- その他(法律) 誹謗中傷、名誉毀損について。 ある、俳優や女優、または歌手を名指しで、SNS(ツイッター)で、 《俳 1 2022/04/21 20:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPにて自動計算した値をデータ...
-
file_get_contentsのURI処理
-
検索フォームから入力されたキ...
-
「取得先」という表現について
-
Dosブロンプトでtabを出力したい
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
switch()文で値の大小比較
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
!issetの冒頭の!ビックリマー...
-
VBS「開いているページ」のURL...
-
現在時刻をyyyymmddhhmmss形式...
-
URLのパラメータをGETのままで...
-
オブジェクトの中身の判定(PHP)
-
ファイル名に日付の挿入
-
【C#】DataGridViewの最大列数...
-
IPアドレスとMACアドレスを取得...
-
セッション ID とセッション名...
-
PHPのセッション有効期限について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
「次の10件を表示する」のよ...
-
テーブルに送信ボタンをつける
-
日付を基にした乱数生成
-
PHPのif文「POSTしていな...
-
POSTされたかどうか確かめる方...
-
PHPでwait処理ってできます?
-
microtime関数は、結構イイカゲ...
-
Google chart API 、PHP、MySQL...
-
vbYesNoの使い方
-
PHP ハイパーリンク
-
if (isset($_a)&&$_a)この意味は
-
アクセスキーについて
-
「ソースコードは 左~右へと読...
-
<python>戻り値
-
Luaにて、and or の組み合わせ...
-
null代入とunset()の違いについて
-
2個のプログラムは結果は同じ...
-
PHP5で 定義されているINFの実...
-
逆順表示したい?
おすすめ情報