betway必威手机版 > betway必威手机版 > betway必威appfile_get_contents三种方法POST提交数据,

原标题:betway必威appfile_get_contents三种方法POST提交数据,

浏览次数:148 时间:2019-06-22

潘少宁-腾讯:
file_get_contents 就算能够博得某U逍客L的内容,但不能够post get啊。
curl 则足以post和get啊。还是能够获得head消息
而socket则更底层。可以设置基于UDP或是TCP协议去交互
file_get_contents 和 curl 能干的,socket都能干。
socket能干的,curl 就不必然能干了
file_get_contents 越多的时候 只是去拉取数据。作用比较高 也比较简单。
赵的状态这些自家也遇上过,笔者透过CU奥迪Q5L设置host 就OK了。 那和网络情况有涉嫌

复制代码 代码如下:

<?php
function get_url ($url,$cookie=false)
{
$url = parse_url($url);
$query = $url[path]."?".$url[query];
echo "Query:".$query;
$fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30);
if (!$fp) {
return false;
} else {
$request = "GET $query HTTP/1.1rn";
$request .= "Host: $url[host]rn";
$request .= "Connection: Closern";
if($cookie) $request.="Cookie: $cookien";
$request.="rn";
fwrite($fp,$request);
while()) {
$result .= @fgets($fp, 1024);
}
fclose($fp);
return $result;
}
}
//获取url的html部分,去掉header
function GetUrlHTML($url,$cookie=false)
{
$rowdata = get_url($url,$cookie);
if($rowdata)
{
$body= stristr($rowdata,"rnrn");
$body=substr($body,4,strlen($body));
return $body;
}
return false;
}
?>

$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
fclose($fp);

开启curl:

// building POST-request:
$request.="POST ".$URL_Info["path"]." HTTP/1.1n";
$request.="Host: ".$URL_Info["host"]."n";
$request.="Referer: $referern";
$request.="Content-type: application/x-www-form-urlencodedn";
$request.="Content-length: ".strlen($data_string)."n";
$request.="Connection: closen";

赵永斌:
有一些时候用file_get_contents()调用外界文件,轻松超时报错。换来curl后就足以.具体原因不知道
curl 效率比file_get_contents()和fsockopen()高级中学一年级些,原因是CU逍客L会自动对DNS消息进行缓存(亮点啊有自家待亲测)

$config['context'] = stream_context_create(array('http' => array('method' => "GET",
'timeout' => 5//那么些超时时间不安宁,常常不奏效
)
));

复制代码 代码如下:

$request.="Cookie: $cookien";

(远程)笔者个人知道到的表明如下(不对请提议,不成功请补充)
file_get_contents 需要php.ini里开启allow_url_fopen,乞请http时,使用的是http_fopen_wrapper,不会keeplive.curl是能够的。
file_get_contents()单个实行效用高,重返没有头的音讯。
以此是读取一般文件的时候并不曾什么样难题,可是在读取远程难点的时候就能冒出难点。
万一是要打八个相接连接,数十次诉求四个页面。那么file_get_contents和fopen就能够出标题。
赢得的内容也大概会不对。所以做一些看似采撷工作的时候,确定就不平日了。
sock较底层,配置麻烦,不易操作。 再次回到完整音讯。

(远程)我个人领会到的公布如下(不对请提议,不成就请补充)
file_get_contents 需要php.ini里开启allow_url_fopen,央求http时,使用的是http_fopen_wrapper,不会keeplive.curl是足以的。
file_get_contents()单个实施效能高,再次回到未有头的音信。
其一是读取一般文件的时候并未怎么难题,可是在读取远程难点的时候就能够合世难题。
假如是要打多个相连连接,数十次伸手多少个页面。那么file_get_contents和fopen就能够出难题。
获取的剧情也大概会不对。所以做一些近乎采撷工作的时候,鲜明就有题目了。
sock较底层,配置麻烦,不易操作。 重回完整新闻。

 

$request.="n";
$request.=$data_string."n";

抓取远程内容,以前一向都在用file_get_content函数,其实已经明白有curl这么一个好东西的存在,不过看了一眼后认为使用颇有个别复杂,未有file_get_content那么粗略,再不怕供给也一点都不大,所以并未有读书应用curl。
以致于近来,要做二个网页小偷程序的时候才发觉file_get_content已经完全无法满意供给了。作者感到,在读取远程内容的时候,file_get_content除了选取比curl便捷以外,其余都不曾curl好。

// building POST-request:
$request.="POST ".$URL_Info["path"]." HTTP/1.1n";
$request.="Host: ".$URL_Info["host"]."n";
$request.="Referer: $referern";
$request.="Content-type: application/x-www-form-urlencodedn";
$request.="Content-length: ".strlen($data_string)."n";
$request.="Connection: closen";

主干语法:

php中 curl, fsockopen ,file_get_contents 七个函数 都得以兑现搜聚模拟发言 。三者有哪些界别,或许讲究么

$request.="n";
$request.=$data_string."n";

php中 curl, fsockopen ,file_get_contents 五个函数 都可以达成搜聚模拟发言 。三者有何分别,大概讲究么

复制代码 代码如下:

范佳鹏:
file_get_contents curl fsockopen
在现阶段所央浼情形下选取性操作,未有天公地道:
具大家商家付出KBI应用来看:
刚开端运用:file_get_contents
新生选拔:fsockopen
最后到现今采纳:curl

0.68719101
0.64675593
0.64326
0.81983113
0.63956594

刺探curl一些主旨的施用后,才察觉实际并简单,只不过记住里面有个别装置参数,难弄一点,但是我们铭记多少个常用的就足以了。

// Find out which port is needed – if not given use standard (=80)
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80;

重大区别:

范佳鹏:
file_get_contents curl fsockopen
在脚下所央浼碰着下选取性操作,未有等量齐观:
具大家集团开荒KBI应用来看:
刚开首应用:file_get_contents
新生使用:fsockopen
最终到现今选用:curl

$my_curl = curl_init();    //初始化一个curl对象  curl_setopt($my_curl, CURLOPT_URL, "http://www.webjoy.net");  //设置你需要抓取的URL  curl_setopt($my_curl,CURLOPT_RETURNTRANSFER,1);  //设置是将结果保存到字符串中还是输出到屏幕上,1表示将结果保存到字符串  $str = curl_exec($curl);    //执行请求  echo $str;  //输出抓取的结果  curl_close($curl);  //关闭url请求  // 封装  function curl_file_get_contents($url){      $ch = curl_init();      curl_setopt($ch, CURLOPT_URL, $url);      curl_setopt($ch, CURLOPT_TIMEOUT, 5);      curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);      curl_setopt($ch, CURLOPT_REFERER,_REFERER_);      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);      $r = curl_exec($ch);      curl_close($ch);      return $r;  }


<?php
function HTTP_Post($URL,$data,$cookie, $referrer="")
{
// parsing the given URL
$URL_Info=parse_url($URL);

打听curl一些基本的应用后,才发觉其实并简单,只不过记住里面有些装置参数,难弄一点,不过大家铭记多少个常用的就足以了。

当今改用了curl库,写了壹个函数替换:
function curl_file_get_contents($durl){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $durl);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
curl_setopt($ch, CURLOPT_REFERER,_REFERER_);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}

(远程)笔者个人知道到的表明如下(不对请提出,不成功请补充)
file_get_contents 需要php.ini里开启allow_url_fopen,诉求http时,使用的是http_fopen_wrapper,不会keeplive.curl是能够的。
file_get_contents()单个施行功能高,再次来到未有头的消息。
以此是读取一般文件的时候并不曾什么难点,可是在读取远程难点的时候就能够冒出难点。
只借使要打叁个不停连接,数十二次伸手多个页面。那么file_get_contents和fopen就能够出标题。
收获的原委也说不定会不对。所以做一些看似收罗职业的时候,料定就十分了。
sock较底层,配置麻烦,不易操作。 重回完整消息。

赵永斌:
稍许时候用file_get_contents()调用外界文件,轻便超时报错。换到curl后就可以.具体原因不亮堂
curl 效率比file_get_contents()和fsockopen()高级中学一年级些,原因是CU中华VL会自动对DNS消息进行缓存(亮点啊有本身待亲测)

$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
fclose($fp);

// Building referrer
if($referrer=="") // if not given use this script as referrer
$referrer="111″;

// Find out which port is needed – if not given use standard (=80)
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80;

复制代码 代码如下:

// making string from $data
foreach($data as $key=>$value)
$values[]="$key=".urlencode($value);
$data_string=implode("&",$values);

主意2: 用fopen张开url, 以get形式取得内容

$request.="n";
$request.=$data_string."n";

return $result;
}
?>

复制代码 代码如下:

差别比异常的大?呵呵,从自己动用的经历来讲,那五个工具不只是速度有距离,稳固性也离开十分的大。

 

现行反革命改用了curl库,写了一个函数替换:
function curl_file_get_contents($durl){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $durl);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
curl_setopt($ch, CURLOPT_REFERER,_REFERER_);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$r = curl_exec($ch);
curl_close($ch);
return $r;
}

curl使用的时日:


2.31319094
2.30374217
2.21512604
3.30553889
2.30124092

2.31319094
2.30374217
2.21512604
3.30553889
2.30124092

php中 curl, fsockopen ,file_get_contents 多少个函数 都能够达成搜罗模拟发言 。三者有如何分别,大概讲究么

诸如此类,除了确实的网络难题外,没再出新任何难点。
那是旁人做过的关于curl和file_get_contents的测试:
file_get_contents抓取google.com需用秒数:

复制代码 代码如下:

复制代码 代码如下:

// Find out which port is needed – if not given use standard (=80)
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80;

区别一点都不小?呵呵,从本身动用的阅历来讲,这两个工具不只是速度有异样,牢固性也离开十分的大。

<?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>

本文由betway必威手机版发布于betway必威手机版,转载请注明出处:betway必威appfile_get_contents三种方法POST提交数据,

关键词:

上一篇:必威官网手机版组管理命令介绍,删除用户和组

下一篇:没有了