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

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

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

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

Q&A

解決済

1回答

516閲覧

PHPのHTTP_CLIENTについて

chaosmode

総合スコア7

PHP

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

0グッド

0クリップ

投稿2020/10/01 15:01

編集2020/10/02 01:42

phpのPEAR::HTTP_Clientで質問です。

HTTP_Clientを使用したスクリプトを作成しています。
このスクリプトにアクセスすると、既存のサイトにログインして、ログイン後ページを開いた状態に遷移した状態にしたいです。

〜ログイン処理〜

// ログイン後処理

PHP

1$client->get($LOGIN_AFTER_URL); 2$response = $client->currentResponse(); 3echo $response['body'];

実現するには上記のように画面にソースを出力するしかないでしょうか?
イメージとしては、ログイン後処理で以下のように目的のページを画面上に開いた時点で終了したいです。

PHP

1$client->open('ログイン後ページのURL'); //存在しない関数

header関数でログイン後ページにリダイレクトしてみましたが、ログアウトしてしまいました。
cookieを正しく保存できていればそのようにはならないでしょうか?

http_clientとはソースを取得するためのモジュールなのでしょうか?
質問が下手で申し訳ございませんが、よろしくお願いします。

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

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

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

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

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

m.ts10806

2020/10/01 21:30

>とあるサイトで 自身が作るサイトではないのでしょうか。 既存のサイトということでしょうか。 例やあいまいな表現は避けたほうが良いかと思います。
chaosmode

2020/10/02 00:27

>tanat はい、そちらのモジュールになります。 以下はイメージですが ログイン後に$client->open('ログイン後ページのURL')のような使い方ってできないのでしょうか? >m.ts10806 わかりづらく申し訳ございません。 HTTP_Clientを使用したスクリプトにアクセスすると、 既存のサイトにログインして、ログイン後ページを開いた状態に遷移した状態にしたいのです。
m.ts10806

2020/10/02 00:31

質問本文を更新してください。
chaosmode

2020/10/02 01:31

>m.ts10806 修正しました。よろしくお願いいたします。
m.ts10806

2020/10/02 01:33

あと短くてもコードはマークダウンのcode機能でご提示ください。
chaosmode

2020/10/02 01:42

>m.ts10806 何度もありがとうございます。修正いたしました。
guest

回答1

0

ベストアンサー

昔はユーザーの多かったライブラリなので
PEAR::HTTP_Client セッション
あたりで調べると例が出るかと思います。

ただ、最終更新が2008-10-25と流石に古すぎるので最近の環境では正常には動かないかもしれません。
また、重大な脆弱性がある可能性もあるので、使用はお勧めできません。

最近の環境なら
Guzzle
を使う方が色々と便利でお勧めです。
(ログイン先のサイトがBOT対策やCSRF対策をしっかりしている場合はGuzzleでも大変な場合が多いです。)

投稿2020/10/02 03:49

編集2020/10/02 03:50
tanat

総合スコア18727

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

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

chaosmode

2020/10/02 07:14

そんなに古いものだったんですね。 今回はcookieが正しく保存できていないのが原因でした。 レスポンスのbodyをechoしても他のリンクも問題なく辿れる事を確認しました。 Guzzleを今後使用するようにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問