• 2010-06-21

    HTTP POST using PHP cURL

    Views: 26674 | No Comments
    function http_post($url, $data){
    	if(is_array($data)){
    		$data = http_build_query($data);
    	}
    	$ch = curl_init($url) ; 
    	curl_setopt($ch, CURLOPT_POST, 1) ;
    	curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
    	curl_setopt($ch, CURLOPT_HEADER, 0);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) ;
    	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    	$result = curl_exec($ch) ; 
    	curl_close($ch) ;
    	return $result;
    }
    
    function http_get($url){
    	$ch = curl_init($url) ; 
    	curl_setopt($ch, CURLOPT_HEADER, 0);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1) ;
    	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    	$result = curl_exec($ch) ; 
    	curl_close($ch) ;
    	return $result;
    }
    

    获取 HTTP 请求的首部:

    curl_setopt($ch, CURLINFO_HEADER_OUT, true);
    $result = curl_exec($ch) ;
    echo curl_getinfo($ch, CURLINFO_HEADER_OUT);
    

    cURL 打印请求头和响应头的选项 CURLOPT_VERBOSE

    HTTPS:

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    Posted by ideawu at 2010-06-21 14:44:40 Tags:
  • 2010-05-19

    PHP解析HTML和loadHTML乱码

    Views: 34353 | 1 Comment

    为了对 RSS 输出的博客文章进行重新格式化, 比如去掉过于花哨的样式, 去除 JavaScript 脚本代码, 去除 onclick 等, 所以写了相关的 PHP 代码, 使用 DOM 模块.

    1. 乱码解决

    毫无疑问, 一上来就遇到了乱码问题, 虽然我已经按文档所述, 所有的字符使用 UTF-8 编码:

    $html = '<p>你好</p>';
    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    echo $dom->documentElement->nodeValue;
    

    Continue reading »

    Posted by ideawu at 2010-05-19 13:44:57 Tags: ,
  • 2010-05-12

    tableview新版本发布

    Views: 17680 | 2 Comments

    tableview 即原来的 two-column-selector, 在升级为 1.1 版本时, 它的项目名称变为 tableview. 1.1 版本最大的变化是加入了排序功能.

    在网页开发中, 常常需要一个表格与列表相结合的控件, 即能像表格(table)一样显示丰富的信息, 又能像列表选择控件(select)一样方便地选择数据. 在桌面应用程序开发中, 许多GUI库都提供了类似的控件, 如.Net的ListView.

    • PagerView是一个好看精巧的分页控件. PagerView+TableView为网页开发提供了类似的工具, 但代码更简单, 功能更紧凑.
    • SortView是一个方便易用的分页控件.
    • TableView是一个数据表格控件, 代码简单, 功能紧凑.
    • SelectorView是一个由两个TableView组合而成的控件, 相对于列表选择器, 提供了一个临时的存放已选中项的地方.

    下载及文档: http://www.ideawu.net/person/tableview/v1.1/

    Posted by ideawu at 2010-05-12 22:16:46 Tags:
  • 2010-05-07

    开发搜索引擎 – PHP中文分词

    Views: 38433 | No Comments

    对于中文搜索引擎来说, 中文分词是整个系统最基础的部分之一, 因为目前基于单字的中文搜索算法并不是太好. 当然, 本文不是要对中文搜索引擎做研究, 而是分享如果用 PHP 做一个站内搜索引擎. 本文是这个系统中的一篇.

    我使用的分词工具是中科院计算所的开源版本的 ICTCLAS. 另外还有开源的 Bamboo, 我随后也会对该工具进行调研.

    从 ICTCLAS 出发是个不错的选择, 因为其算法传播比较广泛, 有公开的学术文档, 并且编译简单, 库依赖少. 但目前只提供了 C/C++, Java 和 C# 版本的代码, 并没有 PHP 版本的代码. 怎么办呢? 也许可以学习它的 C/C++ 源码和学术文档中, 然后再开发一个 PHP 版本出来. 不过, 我要使用进程间通信, 在 PHP 代码里调用 C/C++ 版本的可执行文件.

    Continue reading »

    Posted by ideawu at 2010-05-07 08:30:07 Tags: ,
  • 2010-05-05

    链接包含”%2F”导致mod_rewrite失效

    Views: 36480 | 1 Comment

    IT牛人博客聚合网站(www.udpwork.com)用到了 Apache 的 mod_rewrite 模块进行 URL 重写. 但是, 在使用过程中曾经出现过一个比较诡异的问题. 开始认为是重写规则设置得不对, 后来才发现, 是"%2F"导致 Apache 直接返回 404 错误.

    比如浏览查看某个标签下的文章列表的链接为

    
    http://www.udpwork.com/tag/Linux
    
    

    在重写之前的链接是

    
    http://www.udpwork.com/?tag=Linux
    
    

    Continue reading »

    Posted by ideawu at 2010-05-05 10:05:09 Tags: ,
  • 2010-04-29

    开发爬虫友好的Ajax网站

    Views: 44817 | 3 Comments

    曾经, Ajax 被当成是 Web 2.0 的全部, 正如 DIV+CSS 被当成是Web标准一样. 到如今, 应用大量 Ajax 技术的网站仍然面临着一个重要问题, 那就是有意义的内容无法被搜索引擎收录. 面对大量 Ajax 网站的产生, 搜索引擎(事实上是爬虫)正在朝着越来越像用户浏览器的方向发展.

    很多站长可能发现, 他们利用 JavaScript 脚本来记录网站访问的日志里, 经常能发现来自"美国加利福尼亚州山景市 Google 公司"的访问记录. 别高兴得太早, 可不是 Google 的工程师在看你的网站, 只是他们支持 JavaScript 的爬虫刚刚抓取了你的网站.

    当然, 为了能让你的 Ajax 网站能被搜索引擎收录正确的内容, 你的网站必须做到:

    每一个不同的内容都能通过一个完整的 URL 来访问!

    Continue reading »

    Posted by ideawu at 2010-04-29 23:23:21 Tags: , , ,
|<<<789101112131415>>>| 11/28 Pages, 163 Results.