> 백엔드 개발 > PHP 튜토리얼 > 你能实现模拟POST提交登录http://bbs.lampbrother.net/ 这个网站吗??

你能实现模拟POST提交登录http://bbs.lampbrother.net/ 这个网站吗??

WBOY
풀어 주다: 2016-06-06 20:46:43
원래의
1766명이 탐색했습니다.

无论你用什么方法都行?只要能写出代码,腾讯面试题啊

回复内容:

无论你用什么方法都行?只要能写出代码,腾讯面试题啊

<code class="lang-php"><?php $post_data = http_build_query(array(
    'step' => 2,
    'lgt' => 2,    
    'forward' => '',
    'pwuser' => 'hehe@163.com',
    'pwpwd' => '123456',
    'question' => 0,
    'customquest' => '',
    'answer' => '',
    'hideid' => 0,
    'submit' => '',
    'jumpurl' => 'http://bbs.lampbrother.net/index.php',
));
$login_url = 'http://bbs.lampbrother.net/login.php';
$user_agent = ' Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0';

$cookie_file = dirname(__FILE__).'/cookie.txt';
touch($cookie_file);

$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_COOKIESESSION => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HEADER => false,
    CURLOPT_VERBOSE => false,
    CURLOPT_COOKIEJAR => $cookie_file,
    CURLOPT_COOKIEFILE => $cookie_file,
    CURLOPT_POSTFIELDS => $post_data,
    CURLOPT_POST => true,
    CURLOPT_USERAGENT => $user_agent,
    CURLOPT_URL => $login_url,
));
$response = curl_exec($ch);
curl_close($ch);

$response = convert2utf8($response);

$login_status = preg_match('#<p>]*>您已经顺利登录</p>#u', $response, $match) ? 'success': 'failed';
echo 'login ', $login_status;

/* functions */
function detectEncoding($str) {
    return mb_detect_encoding($str, array('UTF-8', 'CP936', 'BIG5', 'ASCII'));
}

function convert2gbk($str) {
    return convertEncoding($str, 'CP936');
}

function convert2utf8($str) {
    return convertEncoding($str, 'UTF-8');
}

function convertEncoding($str, $to_encoding) {
    if ($to_encoding !== ($encoding = detectEncoding($str))) {
        $str = mb_convert_encoding($str, $to_encoding, $encoding);
    }

    return $str;
}
</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿