一、参考代码如下:
<!doctype html><html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="jquery-211minjs"></script>
<!--记得导jquery-->
<script>
$ajax({
type:'get',
url:"demohtml",//这里是url
success:function(body,heads,status){
consolelog(body); //body就是内容了,也就是url网页中的内容
}
});
</script>
</body>
</html>
重点代码说明:
$ajax({type:"POST",//请求方式为post
url:"orderclassphptype=add",//请求的地址
data:dataFormid,//参数
success: function(mag){
//success指的是请求并成功返回信息
//msg是返回的内容
alert(mag);
}
});
举例
//假如后台返回的是一个JSON格式的字符串,如"{code:0,msg:\"执行成功!\"}"
success: function(data){
var json=evel("("+data+")");
alter(jsonmsg);//会d出执行成功的消息框
}
想获取远程url的东西需要先判断
function get_url_contents($url)
{
//先判断allow_url_fopen是否打开,如果打开则用file_get_contents获取,如果没打开用curl_init获取
if (ini_get("allow_url_fopen") == "1")
return file_get_contents($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
设置保存路径
define('IMAGE_DIR', 'c:\\xampp\\htdocs\\scraper\\image\\');
保存函数。
$imageUrl = 你要的的url
$imageType = 你要的保存的格式
saveImage($imageUrl, $imageType = 'IMAGETYPE_GIF') {
if (!file_exists(IMAGE_DIR)) {
mkdir(IMAGE_DIR, 0777, true);
}
if( $imageType === IMAGETYPE_JPEG ) {
$fileExt = 'jpg';
} elseif ( $imageType === IMAGETYPE_GIF ) {
$fileExt = 'gif';
} elseif ( $imageType === IMAGETYPE_PNG ) {
$fileExt = 'png';
}
$newImageName = md5($imageUrl) '' $fileExt;
$image = new Image();
$image->load($imageUrl);
$image->resizeToWidth(100);
$image->save( IMAGE_DIR $newImageName, $imageType );
return $newImageName;
}
这是我的类,保存前可转换格式,大小。
<php
class Image {
private $_image;
private $_imageFormat;
public function load($imageFile) {
$imageInfo = getImageSize($imageFile);
$this->_imageFormat = $imageInfo[2];
if( $this->_imageFormat === IMAGETYPE_JPEG ) {
$this->_image = imagecreatefromjpeg($imageFile);
} elseif( $this->_imageFormat === IMAGETYPE_GIF ) {
$this->_image = imagecreatefromgif($imageFile);
} elseif( $this->_imageFormat === IMAGETYPE_PNG ) {
$this->_image = imagecreatefrompng($imageFile);
}
}
public function save($imageFile, $_imageFormat=IMAGETYPE_JPEG, $compression=75, $permissions=null) {
if( $_imageFormat == IMAGETYPE_JPEG ) {
imagejpeg($this->_image,$imageFile,$compression);
} elseif ( $_imageFormat == IMAGETYPE_GIF ) {
imagegif($this->_image,$imageFile);
} elseif ( $_imageFormat == IMAGETYPE_PNG ) {
imagepng($this->_image,$imageFile);
}
if( $permissions != null) {
chmod($imageFile,$permissions);
}
}
public function getWidth() {
return imagesx($this->_image);
}
public function getHeight() {
return imagesy($this->_image);
}
public function resizeToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() $ratio;
$this->resize($width,$height);
}
public function resizeToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() $ratio;
$this->resize($width,$height);
}
public function scale($scale) {
$width = $this->getWidth() $scale/100;
$height = $this->getheight() $scale/100;
$this->resize($width,$height);
}
private function resize($width, $height) {
$newImage = imagecreatetruecolor($width, $height);
imagecopyresampled($newImage, $this->_image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->_image = $newImage;
}
}
>
curl_exec
(PHP 4 >= 402, PHP 5) curl_exec — 执行一个cURL会话
可以参考官方网站范例:>
你要用CURL,就跟Session一样,要先初始化 curl_init(),不然PHP部会知道该怎麼运作。初始化完成之後就要开始设定参数,就像是要不要显示出来。当你参数设定完毕,就要开始执行这个CURL。最後就要关闭这个CURL。这就算是一个简单的CURL运用,当然还有更多变化。
实际例子:
<php// 创建一个cURL资源
$ch = curl_init();
// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, "
);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 抓取URL并把它传递给浏览器
curl_exec($ch);
// 关闭cURL资源,并且释放系统资源
curl_close($ch);
>
如使用mysql一样,首先,我们必须先建立一个「curl」的连线,也因此,必须使用到 curl_init() 这个函式。而为了怕建立连线忘了关闭。因此,必须先写好关闭的函式,curl_close($ch)。
不过大部分HTML标签都可以抓下来,并且显示,可是有部分可能与资料加密性或是转址的部分,就无法正常显示。
/ 建立CURL连线$ch = curl_init();
// 设定撷取的URL网址
curl_setopt($ch, CURLOPT_URL, "
);
curl_setopt($ch, CURLOPT_HEADER, false);
//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// 执行
$temp=curl_exec($ch);
// 关闭CURL连线
curl_close($ch)
加上curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);之後,他会将curl_exec()获取的讯息以文件流的形式返回传给$temp,而不是直接输出。如果要显示出画面的话就加上 echo $temp;就可以了。
下面先分享一个比较常用的,传递参数的部分。
简易的使用语法(GET):
// 建立CURL连线$ch = curl_init();
// 设定撷取的URL网址
curl_setopt($ch, CURLOPT_URL, "
);
curl_setopt($ch, CURLOPT_HEADER, false);
//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// 执行
$temp=curl_exec($ch);
// 关闭CURL连线
curl_close($ch)
Get参数可以直接在网址传递例如网址後面加的SomeVar=test,但是一旦资料量很大,用POST送还是比较适合。
简易的使用语法(POST):
// 建立CURL连线$ch = curl_init();
// 设定撷取的URL网址
curl_setopt($ch, CURLOPT_URL, "
);
curl_setopt($ch, CURLOPT_HEADER, false);
//将curl_exec()获取的讯息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
//设定要传的 变数A=值A & 变数B=值B (中间要用&符号串接)
$PostData = "a=abc&b=def";
//设定CURLOPT_POST 为 1或true,表示要用POST方式传递
curl_setopt($ch, CURLOPT_POST, 1);
//CURLOPT_POSTFIELDS 後面则是要传接的POST资料。
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
// 执行
$temp=curl_exec($ch);
// 关闭CURL连线
curl_close($ch)
以上的传递方式在某些状况下很好用,譬如说,没有设计完整的会员申请系统,就可以利用上面这些程式码,做一个自动注册申请机
程序没问题,能得到网页内容并输出。
有可能是你的 xxxphp 没有重定向成功。
如果在Linux下,可以先用
wget >
本文承接上面两篇,本篇中的示例要调用到前两篇中的函数,做一个简单的URL采集。一般php采集网络数据会用file_get_contents、file和cURL。不过据说cURL会比file_get_contents、file更快更专业,更适合采集。今天就试试用cURL来获取网页上的所有链接。示例如下:
<php
/
使用curl 采集hao123com下的所有链接。
/
include_once('functionphp');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '>
楼主可以用curl把这个文件的内容拿出来,然后用file_put_contents()函数把他写入一个文件里,格式为你想要保存的格式,写个例子给你吧:
首先用curl拿到这个的代码:
$url = 测试URL地址$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
$content = curl_exec($curl);
curl_close($curl);
file_put_contents('保存的路径+ajpg',$content);
大概就这样子了,我就不测试了,楼主测试一下可行不,file_put_contents()函数不明白就查查手册,如果有报错什么的就带上报错信息回复我吧。
以上就是关于javascript 怎么获取指定url网页中的内容全部的内容,包括:javascript 怎么获取指定url网页中的内容、php file_get_contents(url)在本地测试可以获取到远程url的内容,但上传至服务器后返回的确实空的值、curl获取远程图片时,如何设置本地保存路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)