PHP5.3.8にてcURLを使用しているのですが、あるサイトのページを取得し、それをファイルに書き込もうとして
このページ(http://www.phppro.jp/phptips/archives/vol16/3)を試してみようと思い、自分のパスワードなど入れて実行してみました。
しかし、2度目のCURL OUTPUT:が、
「Request Entity Too Large
The requested resource
/members/history.php
does not allow request data with POST requests, or the amount of
data provided in the request exceeds the capacity limit.」
となってしまいます。
これはphpproだけでなく、他のサイトでも同じになります。
よく分からなかったのですが、Webにて検索して
post_max_sizeをphp.iniにて8Mとか変更し大きくしてみたのですがダメでした。
ファイルサイズなんて数Mもないと思うのですが。
http.confでも
<Files *.php>
LimitRequestBody 524288000
</Files>
とかしてみてもダメでした。
何が原因なのか分かりません。
どのようにすればいいのでしょうか?
No.2ベストアンサー
- 回答日時:
「CURLOPT_COOKIEFILE」で検索したところ、「CURLOPT_COOKIEJAR」で受けて「CURLOPT_COOKIEFILE」を送信ということがわかります。
http://sb.xrea.com/archive/index.php/t-11609.html
マニュアルのサンプルコードを見ると、「CURLOPT_COOKIEFILE」と「CURLOPT_COOKIEJAR」をそろえてあることも、これで納得がいくでしょう。
http://jp.php.net/manual/ja/function.curl-setopt …
「CURLOPT_COOKIEJAR」に指定した「cookie」の中身を確認すると、仕組がよくわかります。
PHP をモジュールで動かしている場合は、サーバルートに生成されていると思いますので探してみてください。
とにかく食わされたクッキーを間違いなく送り返してやれば、サーバはログインしていることを理解するはずです。
クッキーはホームディレクトリのしかるべき場所をフルパスで指定して管理してください。確認もしやすいです。
遅くなりごめんなさい。
ご回答ありがとうございました。
今から暫く試行錯誤してみます。
また分からなかった時は質問させてください。
本当にご回答ありがとうございました。
No.1
- 回答日時:
初回のリクエストでは、ログインに必要な情報を POST する必要があるでしょうが、それ以降のリクエストは GET メソッドで行うのが普通ではないでしょうか。
「CURLOPT_POST」で検索すると、POST メソッドを GET メソッドに戻す方法など出てきますので、マニュアルと合わせてご覧になることをお勧めします。
http://www.php.net/manual/ja/function.curl-setop …
ログイン後のリクエストはクッキーを添えて GET メソッドで良いと思います。
samchayさん、貴重なご回答ありがとうございました。
その発想はなく、必死にもがいていました。
>それ以降のリクエストは GET メソッドで行う
このサイト(http://d.hatena.ne.jp/susan-style/20100908/12839 …から、HTTPGETに設定すればいいと分かりました。
しかし、このPHPProの2つめの例文の場合、どこにcurl_setopt($ch, CURLOPT_, TRUE)を設定すればいいのでしょうか?
2つめの$output = curl_exec($ch);の時に一気に実行されると思いますので、この前には置けないのではないかと思います。
では、その後で、また最初からcurl_init($url)を実行していけばいいのかと思いますが、今度はどのURLを指定すればいいのか分かりません。
FirefoxにてLive HTTP Headersを使いヘッダー部は確認しているのですが、
そのPOST、GETのリクエスト内のURLを順次(といってもリダイレクト等が多いのは結構な数になったりもしますが)
curl_init()していくことになるのでしょうか?
>ログイン後のリクエストはクッキーを添えて GET メソッドで良い
という文章から、一番最後の
curl_setopt($ch, CURLOPT_POST, TRUE);
をHTTPGETにするだけでいいのかな、とも思いましたが。上手くいきませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- 英語 The Twilight Zone1959に関するCBSの回答について 1 2023/03/02 15:13
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- 英語 "an amount of"の意味等について 2 2023/06/13 12:19
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLの変わらないページをPHPで...
-
WordPress 検索結果ページのペ...
-
【PHP】ブログ記事をお気に入り...
-
【WordPress】メディアの一覧出力
-
webサイトにアクセスがあったと...
-
認証が通ったidを元にidテーブ...
-
日本からのアクセスと他国から...
-
連想配列の要素が無い時の警告...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
FTPコマンドでディレクトリごと...
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
MAPI コンポーネントを使ったメ...
-
VBSの「MsgBox」について
-
サーバ無しでphpを動作させる
-
現在位置より2つ上のディレク...
-
バッチファイルで特定ファイル...
-
別ファイルの変数を呼び出した...
-
シェルスクリプトからphpファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リダイレクトでPOST
-
URLの変わらないページをPHPで...
-
【WordPress】メディアの一覧出力
-
テキストリンクを2回クリックし...
-
URLでスラッシュ区切りでパラメ...
-
【PHP】ブログ記事をお気に入り...
-
会員サイトに自動ログインして...
-
PHPで、データを表示させるとき...
-
php my adminより取り出したデ...
-
LARAVEL モデル
-
レンタル予約管理表を作りたい
-
WordPress 検索結果ページのペ...
-
header関数でページ移動する場...
-
phpinfoでloaded modulesが表示...
-
GETで「?」無しでパラメータの...
-
PHPで検索結果からさらに詳細な...
-
phpでの二重投稿防止について
-
phpとpostgresを利用した検索シ...
-
PHPとSmartyで、ブログサービス...
-
リンク(URL)をクリックした後、...
おすすめ情報