アプリ版:「スタンプのみでお礼する」機能のリリースについて

cURL関数を使用したphpからのpost送信と画面遷移

とある事情で、どうしてもphpからpost送信をしなければならず、
且つ指定したURL先に画面遷移してほしいと考えております。
現状はpost送信自体は成功しているのですが、指定したURL先への画面遷移方法がわかりません。
無理にこの関数を使用した方法で実装をしたいわけではありませんが、
フォームのサブミットを押してpost送信をする処理と、同等の事をphpからpost送信、画面遷移が出来る方法があるのでしょうか?
ご教授よろしくお願い致します。

A 回答 (2件)

>> post送信自体は成功しているのですが、指定したURL先への画面遷移方法がわかりません。



これは、例えばログイン時のIDやパスワードをPOST送信すると
サーバーからリダイレクトのレスポンスが返ってくるが
そのリダイレクト先のページが取得できないということでしょうか?

この場合、処理自体は難しくは有りませんがサイト毎に必要な処理が異なるので
それぞれに合わせて組む必要が有ります。有名サイトほど面倒です
必要な処理の例を示します。
1.POST後のレスポンスヘッダーを解析し
  Redirectの指示が有ればそのURLのページを取得しなおす。
  レスポンスコードが 301~303の場合が該当します。
  多くの場合は、-L オプションでも対応できます

  他に、metaタグでリダイレクト先が指定されている場合は、本文まで読み込んで
  そこのページを取得しなおします。

  少々面倒などが、javascriptでリダイレクト先が組み込まれている場合です
  その場合は、スクリプトを解析して 取得するページを取り出します。

2.多くの場合 POST後、Cookieeが送付されてきますので
  Redirect先にCookieeの送信も忘れずに処理します。Cookieeにサイト側の
  セッションコードが組み込まれている場合が多いので、これを忘れると
  サーバー側が正しいリダイレクト先を判断できないため所望のページに
  移動できません。

3.POSTする際、UserAgentをデフォルトのままではなく、Mozilla/4.0 や
  compatible; MSIE 6.0などの文字を組み込んでやる。(BOT対策やブラウザ毎に
  表示を切り替えているサイトもあるため)
  そうしないと正しくリダイレクト先を教えてくれない場合が有ります。

4.さらに凝ったサイト(某有名なSNSなど)では、javascriptを解析して
  POSTする情報を付加する必要があります。Javascriptでhidden属性のコード
  をForm内に書き込んでサーバーに送信させてセッションを維持しているものも
  有ります。この場合は、POST時にjavascriptで書き加えられたhidden属性の
  値も一緒にPOSTしてやる必要があります。

5.POSTデータをjavascriptで別のコードにエンコードしてから送信させている
  サイトも有りますので、その場合はそのエンコードルールに従う必要があります

サイトによってどこまでPHP側で処理しなければならないかは変わりますので、
以上のことを参考にしてご自分で作りこむしか有りません。
    • good
    • 0

理論的に無理ですね


それができたらページの成りすましがいくらでもできちゃいます
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!