php模拟post模式打开页面

WBOY
リリース: 2016-06-13 10:36:26
オリジナル
1172 人が閲覧しました

php模拟post方式打开页面
我登录了后台,想在后台模拟用post方式跳转到另一个页面并处理这些数据,可是总是弹出叫我重新登录的提示,我估计是模拟post方式跳转时,已经失去了$_SESSION值。请问该怎么处理这种情况?
代码如下:
$post_string='detail=addaction&subva=0&name=testadmin&password=123456&sex=1'
$context = array(
'http' => array(  
'method' => 'POST',  
'header' => 'Content-type: application/x-www-form-urlencoded\r\nUser-Agent : Jimmy\'s POST Example beta\r\nContent-length:'.strlen($post_string)+8,
'content' => 'mypost='.$post_string
)
);  
$stream_context = stream_context_create($context);  
$data = file_get_contents("http://xxxxxxxx/xxxx/main.php", false, $stream_context);  
echo $data;

------解决方案--------------------
1)先POST数据到到登陆画面
2)返回的结果里会有一个Cookie:SessionID=xxxxxxxxxxxx
3) 取出SessionID,然后按照你上面的方式POST

'header' => 'Content-type: application/x-www-form-urlencoded\r\nUser-Agent : Jimmy\'s POST Example beta\r\nContent-length:'.strlen($post_string)+8,

'header' => 'Cookie: SessionID=xxxxxxxxx;Content-type: application/x-www-form-urlencoded\r\nUser-Agent : Jimmy\'s POST Example beta\r\nContent-length:'.strlen($post_string)+8,

Cookie的格式记不大清楚,以上只是Sample.

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート