• ベストアンサー

get_headersについて

ecogilisの回答

  • ecogilis
  • ベストアンサー率60% (12/20)
回答No.3

マニュアルを読んだ限りはget_headersでキャッシュを無効化してリクエストを飛ばすといったことは無理そうです。 キャッシュが本当に問題で、やりたいことがレスポンスのステータスコードやヘッダをとりたいだけなら、stream_socket_clientなどで、生でHTTPリクエストを飛ばしてみたらどうでしょうか。 もちろんキャッシュを無効化するためのヘッダを付けて。

noname#227352
質問者

お礼

PHP4の環境下では、無理な様なので今回やりたかったことは、断念します。 丁寧な回答、本当に有り難うございました。

関連するQ&A

  • phpでget_headers()が使えない?

    皆さんにお聞きしたいのですが、私が使っているレンタルサーバーで 下記のように記載したphpファイルをアップしたら画面が真っ白のまま ヘッダ情報を取得出ませんでした。 <?php $headers = @get_headers( 'http://www.yahoo.co.jp' ); print_r($headers); ?> どうして取得でないのかわかる方がいましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • HTTP GETで認証をする

    すいません。 今Inettransferでhttpコントロールを使いサーバーからファイルをGETする仕組みを作っているのですが、その際サーバーには匿名アクセスを拒否し認証をしたいと思っています。 フォルダにIDとpassを付けてもGETが出来ません。PUTは出来たのですが、どなたか分かる人いませんか? ちなみにEveroneを付けるとGETが出来たので、PATHなどには問題ないです。 With Http1 .Timeout = 60000 .Url = urlSourceFile .get fileBuffer, , "ID", "PASS" If .Status = 200 Then         ~処理する。 エラーコードは、401です。

  • perlでHTTP Request Headersの情報を取得、表示す

    perlでHTTP Request Headersの情報を取得、表示するページを作成したい 当方初心者です。 apache上のCGI(perl)で、ブラウザから受け取った HTTP Request Headersの情報を取得、出力するページを作成したいのです。 調べると下記のようなサーバ環境変数の取得、表示方法は多数ヒットするのですが =================================================== #!/usr/bin/perl -- print << "DOC1"; Content-type:text/html\n\n <HTML><BODY> DOC1 print $ENV{'HTTP_USER_AGENT'}<br>\n"; print $ENV{'REMOTE_ADDR'}"; print << "DOC2"; </BODY></HTML> DOC2 =================================================== 今回は、環境変数からではなく、HTTP Request Headersから 直接ヘッダに格納された情報を取得したいのです 取得・表示したい情報は標準HTTPヘッダ情報に加え、 途中で経由するプロキシが追加するヘッダ情報です。 完成イメージとしては PHPの<? phpinfo() ?>で出力できる 添付画像にあるような形なのですが どのようにすればできるのでしょうか サンプルの形で教えて頂けると助かります 参考になるページでも結構です よろしくお願いします

  • HTTP GET直後のFIN,ACKについて

    ある特定のサイトをWebアクセスした際のWiresharkトレースを解析しています。 そのWebサイトにはTwitterのAPIが埋め込まれていて、Twitterのアイコンを取得するためにJPGファイルを取得しているTCPセッションがあります。 3WAYハンドシェイクの後、クライアントはHTTP GETでJPGファイルを要求しているのですが、直後にFIN,ACKフラグを伴うパケットを送出しています。 クライアントは自らHTTP GETしておきながら、JPGファイルを受け取る前にTCPセッションを終了しようとするのは理解しがたいと思っています。 このようにHTTP GET直後にFIN,ACKフラグをつけるような挙動をみせるのはどのような状況が予想されるでしょうか?

  • UNIXサーバからのHTTP接続

    あるHTTPサイトから、画像を取得しようとしています。この画像のあるサーバはFTPのサービスがなく、HTTPのみでアクセス可能となっています。このとき、UNIXコマンドで、この画像を取得する方法をご存知でしょうか? FTPなら、 >ftp xxxxx >id xxxx >pass >get xxxx.jpg でOKですが、HTTPしか手段がないのです。

  • GETを使ったサーバとのセッションが理解できません

    今、phpの勉強を本を見ながらやっていますが良く理解出来ません。 諸兄のご指導を宜しくお願い致します。 <html><head><title>00000000</title></head> <body> <?php echo "今GETで渡したのは".$_GET['name']."です"; ?> </body></html> 上のようなスクリプトを書いて、「get_test」という名前のファイルで保存して、 「http://localhost/test/get_test.php」とURLに打ち込み、 「http://localhost/test/get_test.php?name=test」にアクセスすると 「今GETで渡したのはtestです」と表示されましたが、これはどういう意味でしょうか。 ユーザーの持っているファイルは上側で、サーバーの持っているファイルからレスポンスが来たということでしょうか。それならサーバーからレスポンスの来たファイルの名前をどのような名前になっているのでしょうか。 それとも両方ともサーバーが持っているのでしょうか。

    • ベストアンサー
    • PHP
  • file_put_contentsで複数画像の取得

    自分のサーバー(myserver.com)上で「他サイトにある画像をダウンロードできるPHP」=【download.php】を組みました。 <?php $url = 'http://yoso.jp/qt6w8d.jpg'; $data = file_get_contents($url); file_put_contents('./image/photo_1.jpg',$data); ?> 上記では、http://yoso.jp/にある1つの画像をphoto_1.jpgとリネームして、myserver.com/image/ ディレクトリに画像ファイルとして収納できます。 **************************************************************** 次に、 1001.csv 1002.csv 1003.csv など複数のCSVファイルを作り、自分のサーバーのmyserver.com/csv_file/ ディレクトリに保管しました。 それぞれのCSVファイルの中には、yoso.jpにある画像のURLが、カンマ区切りで複数書かれています。 例【1001.csv】 中身 (yoso.jp にある 複数(今回3つ)の画像のURLが記載) http://yoso.jp/qt6w8d.jpg,http://yoso.jp/dve4k.jpg,http://yoso.jp/4m2fl3.jpg, 尚、このCSVファイルもスクレイピンクで自作しているため必要であれば ""で囲むように改良することも可能です。 "http://yoso.jp/qt6w8d.jpg","http://yoso.jp/dve4k.jpg","http://yoso.jp/4m2fl3.jpg", 上記のcsvファイルを用意した後、下記のような【get.php】を組みました。 <?php $id=$_SERVER['QUERY_STRING']; $csv_url = "http://myserver.com/csv_file/"; $csv_url .= $id ; $csv_url .= ".csv"; $file_jpg = file_get_contents( $csv_url ); echo $file_jpg; ?> この【get.php】は、http://myserver.com/get.php?id=1001 とクエリーでcsv名を指定すると、1001.csvにある画像URL(1001.csvの場合3つ)をPHP上に表示(echo)できます。 ************************************************************** やりたいこと 【download.php】と【get.php】に記載したソースと組み合わせて、csvファイルに書いてある複数の画像をすべてサーバーに取り込みたいです。 可能であればそれぞれの画像名をphoto_1.jpg photo_2.jpg photo_3.jpg のような形でリネームし保存できればと考えていますが、file_put_contentsにて、複数ファイル指定で動作させる方法がわかりません。 どのようにすればいいかご教示戴きたくお願いいたします。

    • ベストアンサー
    • PHP
  • 指定したフォルダの画像を一括でプリロードしたい

    ページが表示されたときに、指定した画像をプリロードするようjavascriptで実装しています。 preloadの引数に1つ1つプリロードしたいファイルを書いていかないといけないので ファイル数が多くなると手間です。 例えば img/photo1.jpg img/photo2.jpg img/thumb.jpg image/photo1.jpg image/photo2.jpg image/thumb.jpg という具合にimgとimageのフォルダがあってimgにだけある画像ファイル全てを一括でプリロード したいです。どのようなソースをかけばいいでしょうか? また、指定したフォルダ以下の画像ファイルを一括でプリロードする関数などがあるのでしょうか? function preload(imgs){   for(var i = 0; i < imgs.length; i++){    var imgObj = new Image();    imgObj.src = imgs[i];    } } preload(["./img/photo1.jpg", "./img/photo2.jpg", "./img/photo3.jpg"]);

  • PHPで動的に生成した画像がキャッシュされない

    はじめまして。 PHPにて動的に生成した画像がブラウザにキャッシュされずに悩んでいます。 Smartyテンプレートに以下のように記述し <img src="getbin.php?pid=1705&size=125&q=50&_.jpg" border="0"> 生成前にファイルの存在をチェックし、既にファイルがあれば、そのパスにリダイレクトを するようになっています。 リダイレクト前に出力するヘッダーに問題があるのでしょうか? 以下にヘッダー情報を記します。 ご指摘ご指導お願いいたします。 ---------------------------------------------------------- http://hogehogehoge.net/getbin.php?pid=1705&size=125&q=50&_.jpg GET getbin.php?pid=1705&size=125&q=50&_.jpg HTTP/1.1 Keep-Alive: 300 Connection: keep-alive Referer: http://hogehogehoge.net HTTP/1.x 302 Found Date: Tue, 19 May 2009 05:01:28 GMT Server: Apache/2.2.3 (CentOS) X-Powered-By: PHP/5.1.6 Expires: Tue, 19 May 2009 06:01:28 GMT Cache-Control: max-age=3600 Pragma: cache Location:http://hogehogehoge.net/tmp/photo/1705/1705_125.jpg Content-Length: 0 Keep-Alive: timeout=15, max=75 Connection: Keep-Alive Content-Type: image/jpeg ---------------------------------------------------------- http://hogehogehoge.net/tmp/photo/1705/1705_125.jpg GET /gizmophoto/tmp/photo/1705/1705_125.jpg HTTP/1.1 Keep-Alive: 300 Connection: keep-alive Referer: http://hogehogehoge.net If-Modified-Since: Mon, 18 May 2009 03:29:10 GMT If-None-Match: "8d803c-831-65bd0d80" Cache-Control: max-age=0 HTTP/1.x 304 Not Modified Date: Tue, 19 May 2009 05:01:28 GMT Server: Apache/2.2.3 (CentOS) Connection: Keep-Alive Keep-Alive: timeout=15, max=61 Etag: "8d803c-831-65bd0d80" ----------------------------------------------------------

    • 締切済み
    • PHP
  • 自ファイルのHTTPヘッダーの取得

    他のURLであれば、get_headers関数を利用して、「HTTP/1.1 200 OK」等のヘッダー情報が取得できますが、自ファイルのヘッダー情報はどのように取得するのでしょうか。 よろしくお願いします。

    • 締切済み
    • PHP