Home > php教程 > php手册 > PHP 利用AJAX获取网页并输出(原创自Zjmainstay)

PHP 利用AJAX获取网页并输出(原创自Zjmainstay)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-06 19:47:28
Original
1139 people have browsed it

看点: 1、file_get_contents超时控制。 2、页面编码判断。 3、键盘Enter键捕捉响应。 4、键盘event兼容处理。// event = event || window. event; 5、 XMLHttpRequest 和 jQuery 两种实现方案。 6、页面及源码同时展示。 XMLHttpRequest版本 get_web.php ?

 看点:

      1、file_get_contents超时控制。

      2、页面编码判断。

      3、键盘Enter键捕捉响应。

      4、键盘event兼容处理。//event = event || window.event;

      5、XMLHttpRequest 和 jQuery 两种实现方案。

      6、页面及源码同时展示。

PHP 利用AJAX获取网页并输出(原创自Zjmainstay)PHP 利用AJAX获取网页并输出(原创自Zjmainstay)XMLHttpRequest版本 get_web.php

<span>php
    </span><span>header</span>("Content-type: text/html; charset=utf-8"<span>);
    </span><span>if</span>(!<span>empty</span>(<span>$_POST</span>['input_text'<span>])) {
        </span><span>ini_set</span>('default_socket_timeout', 10<span>);
        </span><span>if</span>(!<span>$data</span> = <span>file_get_contents</span>(<span>$_POST</span>['input_text'<span>])) {
            </span><span>echo</span> "Time out!"<span>;
            </span><span>return</span><span> ;
        }
        </span><span>$charset_pos</span> = <span>stripos</span>(<span>$data</span>,'charset'<span>);
        </span><span>if</span>(<span>$charset_pos</span><span>) {
            </span><span>if</span>(<span>stripos</span>(<span>$data</span>,'utf-8',<span>$charset_pos</span><span>)) {
                </span><span>echo</span> <span>iconv</span>('utf-8','utf-8',<span>$data</span><span>);
            }</span><span>else</span> <span>if</span>(<span>stripos</span>(<span>$data</span>,'gb2312',<span>$charset_pos</span><span>)) {
                </span><span>echo</span> <span>iconv</span>('gb2312','utf-8',<span>$data</span><span>);
            }</span><span>else</span> <span>if</span>(<span>stripos</span>(<span>$data</span>,'gbk',<span>$charset_pos</span><span>)) {
                </span><span>echo</span> <span>iconv</span>('gbk','utf-8',<span>$data</span><span>);
            }
            </span><span>return</span><span>;
        }
        </span><span>echo</span> <span>$data</span><span>;
    }</span><span>else</span><span> {
</span>?>
    span>PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    
        <title>Get Web Page</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta http-equiv="Content-Language" content="zh-CN">
        <script type="text/javascript">
            <span>function<span> createXMLHTTP()
            {
               <span>try<span>
               {
                  <span>var request = <span>new<span> XMLHttpRequest();
               }
               <span>catch<span>(e1)
               {
                   <span>var arrVersions = ["Microsoft.XMLHTTP","MSXML2.XMLHttp.4.0",
                       "MSXML2.XMLHttp.3.0","MSXML2.XMLHttp.5.0"<span>];
                   <span>for(<span>var i=0;i < arrVersions.length;i++<span>){
                       <span>try<span>{
                           request = <span>new<span> ActiveXObject(arrVersions[i]);
                       }<span>catch<span>(e2){
                           request = <span>false<span>;
                       }
                   }
               }
               <span>return<span> request;
            }

            <span>function ajax_post(url, params,<span> target_id)
            {
               request = <span>new<span> createXMLHTTP();

               request.onreadystatechange = <span>function<span>() {
                  <span>if (this.readyState == 4<span>)
                     <span>if (this.status == 200<span>)
                        <span>if (this.responseText != <span>null<span>)
                           document.getElementById(target_id).innerHTML = this.<span>responseText;
               }

               request.open("POST", url, <span>true<span>);
               request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"<span>);
               request.setRequestHeader("Content-length", params.<span>length);
               request.setRequestHeader("Connection", "close"<span>);
               request.<span>send(params);
            }
            
            <span>var checked = <span>false<span>;
            <span>function<span> check_(value) {
                checked =<span> value;
            }

            <span>function<span> get_key(event) {
                event = event || window.<span>event;
                <span>if(event.keyCode==13 && checked != <span>false<span>)
                {
                    <span>var url = document.getElementById('input_text').<span>value;
                    <span>if(url != ''<span>) {
                        get_page();
                    }<span>else<span> {
                        document.getElementById('input_text').<span>onfocus();
                        <span>return <span>false<span>;
                    }
                }
            }

            <span>function<span> get_page() {
                <span>var url = document.getElementById('input_text').<span>value;
                <span>if(!<span>url) {
                    <span>return <span>false<span>;
                }<span>else<span> {
                    <span>if(document.getElementById('output_page').innerHTML != ''<span>) {
                        document.getElementById('output_page').innerHTML = ''<span>;
                    }
                }
                <span>if(url.indexOf('http://') == -1<span>) {
                    url = 'http://'+<span>url;
                }
                ajax_post(
                    '<?php echo $_SERVER['PHP_SELF']; ?>',
                    'input_text='+url,
                    'output_page'<span>
                );
                document.getElementById('click_show').style.display = 'block'<span>;
                document.getElementById('back_a').href = document.location.<span>href;
                document.getElementById('origin_website').href =<span> url;
            }
        </script>
        <style>
            .<span>div_box{
                margin-top:<span>10px;
            }
            .<span>input_box{
                border:<span>1px solid;
                margin-left:<span>10px;
                margin-top:<span>2px;
                height:<span>15px;
                <span>float:<span>left;
                size:32<span>
                font-size:<span> 14px;
            }
            .<span>button_box{
                <span>float:<span>left;
                height:<span>23px;
                padding-bottom:<span>3px;
            }
            .<span>hide_box{
                display:<span>none;            
            }
            .<span>a_box{
                margin-left:<span>10px;
                margin-top:<span>3px;
                height:<span>15px;
                <span>float:<span>left;
                font-size:<span> 14px;
            }
            .<span>clear_box{
                height:<span>50px;
            }
        </style>
    
    
    <div>class="div_box">
        <input id="input_text">class="input_box" type="text" value="" onclick="check_(true)" onblur="check_(false)">
        <input type="button">class="button_box" onclick="get_page()" value="Get it!" >
        <div id="click_show">class="hide_box">
            <a id="origin_website">class="a_box" href="#" target="_black">访问原站</a>
            <a id="back_a">class="a_box" href="#">后退</a>
        </div>
    </div>
    <div>class="clear_box"></div>
    <div id="output_page"></div>
    
    
<span>php
    }
    

</span><span>//</span><span>End_php</span>
Copy after login

PHP 利用AJAX获取网页并输出(原创自Zjmainstay)PHP 利用AJAX获取网页并输出(原创自Zjmainstay)jQuery 版本 get_web.php

<span>php
    </span><span>header</span>("Content-type: text/html; charset=utf-8"<span>);
    </span><span>if</span>(!<span>empty</span>(<span>$_POST</span>['input_text'<span>])) {
        </span><span>ini_set</span>('default_socket_timeout', 10<span>);
        </span><span>if</span>(!<span>$data</span> = <span>file_get_contents</span>(<span>$_POST</span>['input_text'<span>])) {
            </span><span>echo</span> "Time out!"<span>;
            </span><span>return</span><span> ;
        }
        </span><span>$charset_pos</span> = <span>stripos</span>(<span>$data</span>,'charset'<span>);
        </span><span>if</span>(<span>$charset_pos</span><span>) {
            </span><span>if</span>(<span>stripos</span>(<span>$data</span>,'utf-8',<span>$charset_pos</span><span>)) {
                </span><span>echo</span> <span>iconv</span>('utf-8','utf-8',<span>$data</span><span>);
            }</span><span>else</span> <span>if</span>(<span>stripos</span>(<span>$data</span>,'gb2312',<span>$charset_pos</span><span>)) {
                </span><span>echo</span> <span>iconv</span>('gb2312','utf-8',<span>$data</span><span>);
            }</span><span>else</span> <span>if</span>(<span>stripos</span>(<span>$data</span>,'gbk',<span>$charset_pos</span><span>)) {
                </span><span>echo</span> <span>iconv</span>('gbk','utf-8',<span>$data</span><span>);
            }
            </span><span>return</span><span>;
        }
        </span><span>echo</span> <span>$data</span><span>;
    }</span><span>else</span><span> {
</span>?>
    span>PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    
        <title>Get Web Page</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta http-equiv="Content-Language" content="zh-CN">
        <script type="text/javascript" src="http://files.cnblogs.com/Zjmainstay/jquery-1.6.2.min.js"></script>
        <script type="text/javascript"><span>
            $(document).ready(<span>function<span>(){
                $(document).keyup(<span>function<span>(e){
                    e = e || window.<span>event; 
                    <span>if(e.keyCode == 13 && $("#input_text").val() != ''<span>) {
                        $(".button_box").<span>click();
                    }
                });
                $(".button_box").click(<span>function<span>(){
                    <span>if($("#input_text").val() == ''<span>) {
                        $("#input_text").addClass('errorTips').<span>focus();
                        <span>return <span>false<span>;
                    }<span>else<span> {
                        $("#input_text").removeClass('errorTips'<span>);
                    }
                    $.<span>ajax({
                        url: '<?php echo $_SERVER['PHP_SELF'] ?>',<span>
                        data: 'input_text='+$("#input_text").val(),<span>
                        type:'POST',<span>
                        success:<span>function<span>(msg){
                            $(".html_tips").<span>show();
                            $("#origin_website").attr('href',$("#input_text").<span>val());
                            $("#back_a").attr('href',document.location.<span>href);
                            $("#click_show").<span>show();
                            $("#output_page_html").<span>empty().val(msg).css({height:parseInt($(document).height()-100)}).<span>show();
                            $("#output_page").<span>empty().html(msg).<span>show();
                        }
                    });
                });
            });
            
        </script>
        <style>
            .<span>div_box{
                margin-top:<span>10px;
            }
            .<span>input_box{
                border:<span>1px solid;
                margin-left:<span>10px;
                margin-top:<span>2px;
                height:<span>15px;
                <span>float:<span>left;
                size:32<span>
                font-size:<span> 14px;
            }
            .<span>button_box{
                <span>float:<span>left;
                height:<span>23px;
                padding-bottom:<span>3px;
            }
            .<span>hide_box{
                display:<span>none;            
            }
            .<span>a_box{
                margin-left:<span>10px;
                margin-top:<span>3px;
                height:<span>15px;
                <span>float:<span>left;
                font-size:<span> 14px;
            }
            .<span>clear_box{
                height:<span>50px;
            }
            .<span>error_tips{
                border:<span>1px solid red;
            }
            <span>#<span>output_page_html{
                width:<span>960px;
                margin:0<span> auto;
            }
            .<span>html_tips{
                <span>float:<span> left;
                margin: 0<span> 21px;
                font-size:1.<span>8em;
            }
        </style>
    
    
    <div>class="div_box">
        <input id="input_text">class="input_box" type="text" value="">
        <input type="button">class="button_box" value="Get it!" >
        <div id="click_show">class="hide_box">
            <a id="origin_website">class="a_box" href="#" target="_black">访问原站</a>
            <a id="back_a">class="a_box" href="#">后退</a>
        </div>
    </div>
    <div>class="clear_box"></div>
    <div>class="html_tips hide_box">站点</div>
    <div id="output_page"></div>
    <div>class="html_tips hide_box">站点源码</div>
    <textarea id="output_page_html">class="hide_box"></textarea>    
    
    
<span>php
    }  

</span><span>//</span><span>End_php</span>
Copy after login

 

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template