background image

8

 

. 用 PHP

 

实现一个双向队列

9

 

. 使用正则表达式提取一段标识语言(html 或 xml)代码段中指定标签的指定属性值

(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有空格等)。此处
假设需提取 test 标签的 attr

 

属性值,请自行构建包含该标签的串

<test attr=”ddd”> 

<test attr\s*=\s*[“ ¦’](.*?)[” ¦’].*?> 

10.请使用 socket 相关函数(非 curl)实现如下功能:构造一个 post 请求,发送到指定
http server 的指定端口的指定请求路径(如

http://www.

 

 exam

 

 ple.com:8080/test

 

 

。请求中包

 

含以下变量:

用户名(username

 

):温柔一刀

密码(pwd):&123=321&321=123& 
个人简介(intro):Hello world! 

且该 http server 需要以下 cookie

 

来进行简单的用户动作跟踪:

cur_query:you&me 
last_tm:...(上次请求的 unix 时间戳,定为当前请求时间前 10

 

分钟)

cur_tm:...(当前请求的 unix

 

时间戳)

设置超时为 10 秒,发出请求后,将 http server

 

的响应内容输出。

复制内容到剪贴板

 

代码:

Function encode($data, $sep = ‘&’){ 
while (list($k,$v) = each($data)) { 
$encoded .= ($encoded ? "$sep" : ""); 
$encoded .= rawurlencode($k)."=".rawurlencode($v); 

Return $encoded; 

Function post($url, $post, $cookie){ 
$url = parse_url($url); 
$post = encode($data, ‘&’);