看点:

1、file_get_contents超时控制。

2、页面编码判断。

3、键盘Enter键捕捉响应。

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

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

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

XMLHttpRequest版本 get_web.php

复制代码 代码如下:

header(“Content-type: text/html; charset=utf-8”);

if(!empty($_POST[‘input_text’])) {

ini_set(‘default_socket_timeout’, 10);

if(!$data = file_get_contents($_POST[‘input_text’])) {

echo “Time out!”;

return ;

}

$charset_pos = stripos($data,’charset’);

if($charset_pos) {

if(stripos($data,’utf-8′,$charset_pos)) {

echo iconv(‘utf-8′,’utf-8’,$data);

}else if(stripos($data,’gb2312′,$charset_pos)) {

echo iconv(‘gb2312′,’utf-8’,$data);

}else if(stripos($data,’gbk’,$charset_pos)) {

echo iconv(‘gbk’,’utf-8′,$data);

}

return;

}

echo $data;

}else {

?>

Get Web Page

function createXMLHTTP()

{

try

{

var request = new XMLHttpRequest();

}

catch(e1)

{

var arrVersions = [“Microsoft.XMLHTTP”,”MSXML2.XMLHttp.4.0″,

“MSXML2.XMLHttp.3.0″,”MSXML2.XMLHttp.5.0”];

for(var i=0;i < arrVersions.length;i++){

try{

request = new ActiveXObject(arrVersions[i]);

}catch(e2){

request = false;

}

}

}

return request;

}

function ajax_post(url, params, target_id)

{

request = new createXMLHTTP();

request.onreadystatechange = function() {

if (this.readyState == 4)

if (this.status == 200)

if (this.responseText != null)

document.getElementById(target_id).innerHTML = this.responseText;

}

request.open(“POST”, url, true);

request.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);

request.setRequestHeader(“Content-length”, params.length);

request.setRequestHeader(“Connection”, “close”);

request.send(params);

}

var checked = false;

function check_(value) {

checked = value;

}

function get_key(event) {

event = event || window.event;

if(event.keyCode==13 && checked != false)

{

var url = document.getElementById(‘input_text’).value;

if(url != ”) {

get_page();

}else {

document.getElementById(‘input_text’).onfocus();

return false;

}

}

}

function get_page() {

var url = document.getElementById(‘input_text’).value;

if(!url) {

return false;

}else {

if(document.getElementById(‘output_page’).innerHTML != ”) {

document.getElementById(‘output_page’).innerHTML = ”;

}

}

if(url.indexOf(‘http://’) == -1) {

url = ‘http://’+url;

}

ajax_post(

”,

‘input_text=’+url,

‘output_page’

);

document.getElementById(‘click_show’).style.display = ‘block’;

document.getElementById(‘back_a’).href = document.location.href;

document.getElementById(‘origin_website’).href = url;

}

.p_box{

margin-top:10px;

}

.input_box{

border:1px solid;

margin-left:10px;

margin-top:2px;

height:15px;

float:left;

size:32

font-size: 14px;

}

.button_box{

float:left;

height:23px;

padding-bottom:3px;

}

.hide_box{

display:none;

}

.a_box{

margin-left:10px;

margin-top:3px;

height:15px;

float:left;

font-size: 14px;

}

.clear_box{

height:50px;

}

}

//End_php

jQuery 版本 get_web.php

复制代码 代码如下:

header(“Content-type: text/html; charset=utf-8”);

if(!empty($_POST[‘input_text’])) {

ini_set(‘default_socket_timeout’, 10);

if(!$data = file_get_contents($_POST[‘input_text’])) {

echo “Time out!”;

return ;

}

$charset_pos = stripos($data,’charset’);

if($charset_pos) {

if(stripos($data,’utf-8′,$charset_pos)) {

echo iconv(‘utf-8′,’utf-8’,$data);

}else if(stripos($data,’gb2312′,$charset_pos)) {

echo iconv(‘gb2312′,’utf-8’,$data);

}else if(stripos($data,’gbk’,$charset_pos)) {

echo iconv(‘gbk’,’utf-8′,$data);

}

return;

}

echo $data;

}else {

?>

Get Web Page

$(document).ready(function(){

$(document).keyup(function(e){

e = e || window.event;

if(e.keyCode == 13 && $(“#input_text”).val() != ”) {

$(“.button_box”).click();

}

});

$(“.button_box”).click(function(){

if($(“#input_text”).val() == ”) {

$(“#input_text”).addClass(‘errorTips’).focus();

return false;

}else {

$(“#input_text”).removeClass(‘errorTips’);

}

$.ajax({

url: ”,

data: ‘input_text=’+$(“#input_text”).val(),

type:’POST’,

success:function(msg){

$(“.html_tips”).show();

$(“#origin_website”).attr(‘href’,$(“#input_text”).val());

$(“#back_a”).attr(‘href’,document.location.href);

$(“#click_show”).show();

$(“#output_page_html”).empty().val(msg).css({height:parseInt($(document).height()-100)}).show();

$(“#output_page”).empty().html(msg).show();

}

});

});

});

.p_box{

margin-top:10px;

}

.input_box{

border:1px solid;

margin-left:10px;

margin-top:2px;

height:15px;

float:left;

size:32

font-size: 14px;

}

.button_box{

float:left;

height:23px;

padding-bottom:3px;

}

.hide_box{

display:none;

}

.a_box{

margin-left:10px;

margin-top:3px;

height:15px;

float:left;

font-size: 14px;

}

.clear_box{

height:50px;

}

.error_tips{

border:1px solid red;

}

#output_page_html{

width:960px;

margin:0 auto;

}

.html_tips{

float: left;

margin: 0 21px;

font-size:1.8em;

}

站点

站点源码

}

//End_php

作者:Zjmainstay

www.bkjia.comtrueTechArticle看点: 1、file_get_contents超时控制。 2、页面编码判断。 3、键盘Enter键捕捉响应。 4、键盘event兼容处理。//event = event || window.event; 5、XMLHttp…

php获取网页输出,PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)_PHP教程相关推荐

  1. 利用ajax获取数据对学生表进行简单的增删改查

    前言 本次练习没有使用前端框架,默认以表格方式拼接渲染数据,后端数据返回没有采用规范的数据形式返回 默认你能用springboot-mybatis从后端获取到数据 spring boot 静态资源处理 ...

  2. js获取classname值_利用js获取元素class值的两种方法

    我们有时为了达到某种效果,需要以元素的class值为条件做判断. 我们如何利用JavaScript获取元素class的值?我们先看下面代码: x=document.getElementsByTagNa ...

  3. vue定时ajax获取数据,vue 中使用 AJAX获取数据的方法

    在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: new Vue({ el:'#app', data:{data:&qu ...

  4. ajax跨域获取数据后处理,简单实现ajax获取跨域数据

    本文实例为大家分享了ajax获取跨域数据的具体代码,供大家参考,具体内容如下 1.效果图 2.源码 function getData(keyword) { var url="https:// ...

  5. geoip php 获取城市,Laravel 中利用 GeoIP 获取用户地理位置信息

    这篇文章主要介绍了关于Laravel 中利用 GeoIP 获取用户地理位置信息,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 我最近需要一个用户地域检测来设置用户的默认区域和货币.由 ...

  6. sqlmap 获取mysql密码_利用sqlmap 获取管理员账号密码

    首先,先简单介绍下sqlmap 简介: sqlmap是一种开源的 支持的数据库:MySQL,Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Ac ...

  7. django ajax获取数据类型,Django:使用Ajax获取模板中的数据库对象值

    您可以使用AJAX回打电话给你的Django代码,并返回你的车的名称: template.html $(document).ready(function() { $(document).on(&quo ...

  8. mac如何用python爬网页数据_Mac——利用Python进行网页爬取

    Mac--利用Python进行网页爬取 目标:利用Python爬取网页中的指定内容,例如,爬取百度百科网页中四川省的别名.html 输出:四川省的别名为:川.蜀.天府之国python 我的经验,网页爬 ...

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

    看点: 1.file_get_contents超时控制. 2.页面编码判断. 3.键盘Enter键捕捉响应. 4.键盘event兼容处理.//event = event || window.event ...

最新文章

  1. 从自动贩卖机找零看Python中的动态规划问题
  2. Eclipse报错:gc overhead limit exceeded eclipse
  3. 《WebGIS开发实践手册》2.2 ArcIMS服务器组件[1]
  4. flink編譯hadoop3.1.2(失败,这个问题没有意义,关闭)
  5. 人造肉真的上市了,这对养殖业会有什么影响?
  6. 每日一笑 | 程序员千万不能轻易去网吧!
  7. GUI编程tkinter模块常用参数(python3)
  8. android存电话号码,如何从android中删除联系人的电话号码?
  9. ajax的两个重要参数contentType 和dataType
  10. mysql 交互式和非交互式操作(interactive_timeout和wait_timeout)
  11. Moore-Penrose 广义逆
  12. 就想了解服务器为什么1M带宽网速却达不到1M
  13. 最新注册谷歌账号详细步骤,解决“此电话号码无法验证”问题
  14. 怎么提高编程能力?逻辑思维能力?
  15. 计算机win7如何连接wifi网络,win7怎么连wifi,win7电脑连不上网
  16. @GetMapping注解的理解
  17. python 获取本机IP地址
  18. 打开idea的svn项目弹出Action not found:Subversion.Add提示解决办法
  19. python3函数参数(必选参数、默认参数、关键字参数、可变参数)
  20. 3阶差分方程在有重根下的一般计算公式的推导

热门文章

  1. 模糊查询与字符串的操作
  2. 第12章 存储器的保护
  3. Python -- 三元表达式(三目运算符)
  4. Spring Boot----Dubbo原理分析
  5. delphi 参数化sql
  6. PHP 递归删除目录中文件
  7. 微信 小程序 常见错误
  8. C#链接mysql 新手容易出错的问题
  9. IOS高级编程之二:IOS的数据存储与IO
  10. 高考临考突发情况应急预案大全