curl的一些玩意

飘逸的风14年前 (2012-11-15)程序7460
最近在想是否可以打通各家微博,显然,新浪的没有什么难度,三下五除二就能够用curl撂倒。而腾讯就不太好做,各个登录入口都有图片验证,图片识别可就难度大了,可看某篇文章,看似也就是md5的问题,不需要图片识别。

登录网站的核心是cookie的问题,另外就是对代码的分析。

做个cookie的小实验:

need-cookie.php
<?
if($_GET['login']){
  $value = 'https://www.aslibra.com';
  setcookie("url", $value);
  exit;
}

if($_COOKIE['url']){
  echo "thanks! your value is ".$_COOKIE['url'];
}else{
  echo "Not permit";
}
?>


index.php
<pre>
<?
$url = "https://www.aslibra.com/teach/curl/need-cookie.php";
$ckfile = "cookie.txt";

echo "== step 1 / no cookie ==\n";
$content = file_get_contents($url);
echo $content."\n\n";

echo "== step 2 / login ==\n";
$ch = curl_init( $url."?login=1");
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($ch, CURLOPT_HEADER, 1);
$r = curl_exec($ch);
echo $r."\n\n";

echo "== step 3 / get it with cookie ==\n";
$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile);
$r = curl_exec($ch);
echo $r."\n\n";

?>


执行结果:

== step 1 / no cookie ==
Not permit

== step 2 / login ==
HTTP/1.1 200 OK
Date: Sat, 04 Sep 2010 08:37:06 GMT
Server: Apache/2.2.12 (Ubuntu)
X-Powered-By: PHP/5.2.10-2ubuntu6.4
Set-Cookie: url=http%3A%2F%2Fwww.aslibra.com
Vary: Accept-Encoding
Content-Length: 0
Content-Type: text/html

1

== step 3 / get it with cookie ==
thanks! your value is https://www.aslibra.com1


注意:第二步是有set-cookie的返回

 

原创内容来自 阿权的书房 

相关文章

PHP删除目录及目录下所有文件

1、PHP删除目录及目录下所有文件 01 <?php 02 //循环删除目录和文件函数 03 function delDirAndFil...

Javascript 正则表达式使用手册

一.正则表达式匹配常用语法 “+”字符:规定表达式字符出现一次或多次。 “*”字符:规定表达式字符出现零次或多次。 “?”字符:规定表达式字符出现零次或一次。 ^ 匹配的是字符的开头 ,匹配的...

PHP给图片添加水印和生成缩略图函数

给图片添加水印: /************************************ 函数: watermark($bigimg, $smallimg, $coord = 1) 作用:...

ecshop搜索热门关键字的调用

码关键字的设定在:后台-商店设置-显示设置--首页搜索的关键词 {if $searchkeywords} {$lang.hot_search} :  {foreach from...

可以让PHP编程事半功倍的类库

可以让PHP编程事半功倍的类库

在用php开发网站的时候,使用面向对象的方法确实可以提高代码复用率,减少代码冗余。而对初学者更友好的是,PHP开发网站所需要的大部分类库,网上都有十分优秀的类库存在了。作为一个程序猿当然不能重复制造轮...

一些需要禁用的PHP危险函数

phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec()。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。