ホームページ  >  記事  >  バックエンド開発  >  通常のフォームログインをPHP CURLのシミュレートされたフォームログインに変更する方法

通常のフォームログインをPHP CURLのシミュレートされたフォームログインに変更する方法

WBOY
WBOYオリジナル
2016-06-23 14:01:38939ブラウズ


<form method="post" action="2.php">    用户名: <input type='text' name="loginname"><br>	密码:<input type="password" name='loginpass'><br>	<input type='submit' value="submit"></form>


2.php
header('Content-Type:text/html;Charset=utf-8');if ($_POST['loginname'] == 'lee' && $_POST['loginpass'] == '123456') {      header('location:http://bbs.csdn.net');} else {     } 

ログインをシミュレートするためにこのようなフォームを変更する方法を教えてください。なぜこのように書くと間違っているのでしょうか?
新しい 1.php を作成します
header('Content-type:text/html;Charset=utf-8');  $user = 'lee';       //登陆用户名   $pass = '123456';    //登陆密码   $post_fields = "loginname={$user}&loginpass={$pass}";$ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'http://localhost/2.php');curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_exec($ch);curl_close($ch);


ディスカッション (解決策)

echocurl_exec ($ch);

さらに、2.php はリダイレクトされ、コンテンツは返されません。
echo file_get_contnets('location:http://bbs.csdn.net'); に変更します

header('location:http://bbs.csdn.net');
形成された http ヘッダー
HTTP/ 1.1 302 件見つかりました
日付: Wed, 26 Feb 2014 09:16:38 GMT
場所: http://bbs.csdn.net
Content-Length: 0
Content-Type: text/html;Charset=utf-8

ジャンプを追ってみませんか?
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

header('location:http://bbs.csdn.net');
形成された http ヘッダー
HTTP/1.1 302 が見つかりました
日付: 水曜日、2014 年 2 月 26 日 09 : 16:38 GMT
location: http://bbs.csdn.net
Content-Length: 0
Content-Type: text/html;Charset=utf-8

ジャンプを追跡しませんか?
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
お世話になりました
このように変更しました
1.php

header('Content-type:text/html;Charset=utf-8');  $user = 'lee';       //登陆用户名   $pass = '123456';    //登陆密码   $post_fields = "loginname={$user}&loginpass={$pass}";$ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'http://localhost/2.php');curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);curl_exec($ch);curl_close($ch);

2.php
 header('Content-Type:text/html;Charset=utf-8');if ($_POST['loginname'] == 'lee' && $_POST['loginpass'] == '123456') {     header('location:http://bbs.csdn.net');} else {      }

1.phpを実行しても空白のままでジャンプが実現しません


#1 いいえ、あなたが言いましたか?
echocurl_exec($ch);
結果を出力せずにそれを行うにはどうすればよいですか?

7d11849c559a746eb1d4e1c8075fc144
93f0f5c25f18dab9d176bd4f6de5d30e
3587918961f13509c917a2ba9eb190adfa53fefa8eafc7c836ea46f2cc284f0d 73c49568c136da58e73d177339df26a0 335f1e03b62a0ea05fea4e618389ef23 ;meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
b2386ffb911b14667cb8f0f91ea547a7CSDN フォーラム ホーム ページ - CSDN.NET6e916e0f7d1e588d4f442bf645aedb2f " /assets/application-2edd8c1e00c76d813e1deb8c05ba1775.js" type="text/javascript">2cacc6d41bbb37262a98f745aa00fbf0
4ec11beb6c39d0703d1751d203c17053
main_page _js.index_page( );
}); href="http://static.csdn.net/public/common/toolbar/css/index.css">
9c3bca370b5104690d9ef395f2c5f8d1 フレームセット Cols="230,* " Frameborder="no" border="0" Framespacing="0">
b4586f96b893a1017165a064578a1c40
37f861bd36cef5b6406eba87d20a5bab
36cc49f0c466276486e50c850b7e4956 ;


ご協力ありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。