No.1ベストアンサー
- 回答日時:
クライアントを介せずに、というよりはブラウザを介せずにって事じゃないですか?
リクエスト送信時にブラウザがやっている事を代わりにやってあげるしか無いと思います。
ブラウザのリクエスト例
POST /******/Login.php HTTP/1.0
Accept: */*
Referer: http://*********.com/******/Login.php
Accept-Language: ja
Content-Type: application/x-www-form-urlencoded
Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30)
Host: 10.0.66.4
Content-Length: 38
Cache-Control: no-cache
Cookie: la_Session=uchf7m*4**vtr*r*l3ncc**c**
user_name=********&user_passwd=*******
これに対してのサーバの返答を見て処理を順々に行っていけば良いと思います。
ブラウザとサーバのやり取りを見るなら↓のようなツールがあります。
SSL対応です。
参考URL:http://www.jumperz.net/index.php?i=2&a=0&b=4
この回答への補足
回答ありがとうございます。
そうですね、ブラウザを介さずにってことです。
httpでのやり取りはブラウザに任せることが多いと思うので、
具体的なやり取りは良くわかってませんでした。
「リクエスト」をして「返答」を見るという一連の処理の
サンプルなどがあれば嬉しいのですが・・・。
ツールについてもありがとうございます。
No.4
- 回答日時:
HTTPモジュールが入っていれば、http_get関数が使えます。
まずは以下の関数を試してみてください。$data = http_get("http://www.example.com/...",array("httpauth" => "userid:pass"));
この関数は、いろいろ細かい設定が出来ますので、詳しくは「php http_get」で検索してみてください。
ちなみに、http_get関数ほど細かい指定は出来ませんが、通常のfopen()やfile()でもhttpからのデータ取得は可能です。
ファイル名の代わりにURLを書くだけです。
$fp = fopen("http://www.example.com/...","r");
といった感じに。ログインが必要だと厳しいかも知れませんが、
BASIC認証であれば以下のような書き方でいけると思います。
$fp = fopen("http://userid:pass@www.example.com/...","r");
これでだめなら、t_netbugさんの提案通り、通信のやり取りしないといけないですね。
No.3
- 回答日時:
御利用の会員制サイトがどのような認証方法や通信を利用していているかや
PHPにどのようなモジュールが組み込まれているかに依りますが、
PHPのcURL関数を使うのが楽でしょう。
POSTやGET
httpやhttps
クッキーでのセッション管理
まで対応していますので、ほとんどのサイトはなんとかなるでしょう
cURL関数については http://jp2.php.net/curl
phpにcurlが組み込まれていない場合で、OSがBSD系やLinuxの場合は、
PHPから /usr/local/bin/curl を直接たたいてやれば同じことができます。
ブラウザと同等の手順になるようにどのパラメータをどのページの時に
送信するかを見つけるのが面倒ですけどね。
POSTデータやクッキーデータ、referenceやUseragentまでも模擬しないと
正しくデータをくれないサイトも有ります。
デバッグに本物のサイトを頻繁に利用すると、不正アクセスと判断されて
アカウントを削除されるかもしれないので、サーバに負荷をかけないようにしてください。
No.2
- 回答日時:
phpではたぶん出来ない気がします。
送信を行うとき、サーバに対して、こちらが何番のポートから送信したかの情報を一緒に送信します。
すると、サーバはリクエストに対しての結果を、送信してきたIPアドレスの送信元ポート番号に返します。
ということは、そのポート番号をずっと監視していなければいけないプロセスが必要になる、という事になります。
PHPであるポート番号を監視し続けるプログラムサンプルがあれば良いのですが、自分は見た事がありません。
恐らく、参考になるのはチャットプログラム(TCP形式)ではないでしょうか?
漠然としたアドバイスしか出来ず、申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- ネットワーク ネットワーク構成図のアイコン素材のダウロードサイトでおすすめ教えてください 1 2022/06/03 05:09
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- サーバー (童顔♀です)webサイト納品後,記事更新をこちらでする場合どうやりますか....? 3 2023/08/09 04:44
- フリーソフト タスクソフト? 1 2023/01/14 07:52
- HTML・CSS 別サイトのHTML内にある情報を自動取得して、自分のサイトに組込む方法を教えてください。 例えば、Y 1 2023/06/15 08:09
- サーバー Webサイト構築フリーランスの案件受注について 1 2022/03/27 18:16
- ネットワーク 社内ネットワークの1台だけ接続できないときがある 4 2023/01/25 11:58
- Chrome(クローム) Cookieを削除 他サイトでの自動ログインなどの設定も削除されますか パソコン クロームです 1 2022/09/10 21:47
- YouTube youtubeが使えない! 1 2022/11/16 16:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【WordPress】メディアの一覧出力
-
日本からのアクセスと他国から...
-
LARAVEL モデル
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
別ファイルの変数を呼び出した...
-
PHPのif文でその処理を途中で抜...
-
CFileDialogの最初のディレクト...
-
.phpと.incファイルの違いはな...
-
「警告:ページの有効期限切れ...
-
「@$変数」の「@の意味は?」
-
リンク先を隠す方法はないでし...
-
2つの画像ファイルが異なるファ...
-
現在位置より2つ上のディレク...
-
Subversionのリポジトリの削除
-
VB6にてメールを送信する方法
-
パースエラーとは?
-
XAMPPでSQL文を流すとフリーズ...
-
データ送信をボタンを押さずに...
-
【file_exists】ファイルが存在...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【WordPress】メディアの一覧出力
-
リダイレクトでPOST
-
URLの変わらないページをPHPで...
-
GETで「?」無しでパラメータの...
-
URLでスラッシュ区切りでパラメ...
-
pukiwikiのrecent(最近の更新...
-
phpMyAdminでデータの追加・更...
-
携帯サイトのリロード
-
WordPress 検索結果ページのペ...
-
携帯で、phpページからhtmlペー...
-
header関数でページ移動する場...
-
認証が通ったidを元にidテーブ...
-
Windows7のMySQLの環境構築につ...
-
wwwが無いURLはどういう意味が...
-
phpでページング処理の書き方
-
PHPの値受け渡しとアンカーを一...
-
php my adminより取り出したデ...
-
レンタル予約管理表を作りたい
-
テキストリンクを2回クリックし...
-
PHPとSmartyで、ブログサービス...
おすすめ情報