腾讯PHP面试题,PHP如何模拟POST提交登录?求详细代码

作者&投稿:当涂衫 (若有异议请与网页底部的电邮联系)
PHP CURL POST模拟用户登录。。谢谢了。。希望能给出具体的代码,并简要解释下代码~

你可以看下是否有其它的http header没有模拟,比如Referer和User-Agent是否都能模拟浏览器的值,一个完整的请求是类似于这样的:
GET /home/pack/data/content?id=31,2399,13,30&asyn=1&t=0.03439752989200834&_req_seqid=0xa982225f0637c78a HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Referer: http://www.baidu.com/
x-requested-with: XMLHttpRequest
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; BTRS123401; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; MS-RTC LM 8)
Host: www.baidu.com
Connection: Keep-Alive
Cookie: XCXXXXX

//这是我写的封装类,也就是模拟POST提交
//$durl也就是URL地址,比如
//$data 为POST数组
//模拟POST提交的用途,采集数据,模拟用户登录(为什么现在登录需要验证码,不是为了测你智商..
更不是考你的眼力,而防止你模拟登录..用暴力破解法强行破解密码)
function curl_file_post_contents($durl, $timeout = 5, $data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $durl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
curl_setopt($ch, CURLOPT_REFERER, _REFERER_);

curl_setopt($ch, CURLOPT_POST, 1); //设置为POST传输
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //添加post数据
$r = curl_exec($ch);
var_dump($ch);
if ($r === false) { //判断错误
echo curl_error($ch);
}
$info = curl_getinfo($ch); //能够在cURL执行后获取这一请求的有关信息
curl_close($ch);
return $r;
}

大概流程是

先构建要传输的数据

再使用php的stocket模拟post请求


例子,比如我打开这个页面所用到的数据就是(这里用的是GET请求,改成POST就行了)


构造出以上的字符串,然后使用stocket发送出去即可

$fp = fsockopen(主机ip,端口号);  
fputs($fp, 数据字符串);  
while(!feof($fp)) {
    //这里是输出请求所得到的回应数据
    $result .= fgets($fp, 128);
}

更多请自行百度php模拟post请求


因为我以前在工程实例中做过,所以比较了解


纯手打,望采纳


话说,这个问题过了就能进腾讯?门槛太低了吧。。。



这个用到cookie的话,那过程基本上都差不多。首先,用户访问该网站,php程序去读取用户客户端上是否存在cookie值,如果客户端有这个cookie,那么程序自动执行用户登录程序,反之找不到则不执行登录程序。

这个问题,你百度一下,就搜php模拟登陆,很多的,而且也很详细。

curl 或者socket都行 参见1楼思路

curl或者socket都可以啊


php中为什么用<p>去换行会一次两行,有时候又一次一行。。。 求大神解释...
首先你得知道,<p>是一个块标签。其作用是:独占一行。当在html中有浮动元素时,它在你看来可能就是换了一行。当在标准元素中,它独占了一行你看来可能就是换了两行。这并不是<p>标签独有的属性。所有块级标签都有这个属性。例如:<h1><h2>等等。。。真想换行,用<br>不就得了?

php语言中<p>是什么意思 <>什么作用啊
<p>不是php语言引入的,他是HTML语言中的一个标签(paragraph,段落的意思),php是服务器端脚本语言的一种,php代码经服务器解释后生成(嵌入)HTML返回给客户端浏览器,他比HTML语言要高一级。HTML翻译成中文是“超文本标记语言”,<>就是他用来识别\/解析元素类型和边界的标记。有一个W3C标准化组织...

看这段php代码中,<P>标签不用关闭吗?也就是说不用写<\/P>吗?
是可以不用结束标签的,但为了兼容和阅读习惯以及健壮性,建议是写上结尾标签。

PHP中<p>是什么意思,用在哪些地方?
<p>并不是php里的 是html里的 是一个段落标记 用法:<p>这是一个段落<\/p>

php语句 echo "<\/p>";是什么意思?
<p><\/p> <p><\/p>标志对是用来创建一个段落,在此标志对之间加入的文本将按照段落的格式显示在浏览器上。另外,<p>标志还可以使用align属性,它用来说明对齐方式,语法是:<p align=""><\/p>。align可以是Left(左对齐)、Center(居中)和Right(右对齐)三个值中的任何一个。如<p align="Center...

php判断发布的文章有多少个<p>标签,并在中间的添加内容,如何实现?
content = "...<p>...<p>...<p>..."; \/\/假定这是文章的内容 arrc = explode("<p>",$content); \/\/分割为数组 count = count($arrc)-1; \/\/这是<p>标签的个数 center = intval($count\/2); \/\/这是最中间的<p>标签的索引号 arrc[$center] = "#".$arrc[$center];...

src = "demo.php?p = 0"中的?p = 0什么意思
那是传到demo.php中的一个参数p,它的值是0,你可以通过GET方法获取这个参数p,具体代码:$value = $_GET['p']; 将传过来的参数p的值赋给$value

PHP采集只要文字,不要p标签,正则表达式该怎么写
最土的办法,整段采集完后,把<p id''>和<\/p>替换为空 ---解决方案--- 试下这个函数,你可以自己修改下。PHP code function cleanJs($text){ text = trim($text);text = stripslashes($text);\/\/完全过滤动态代码 text = preg_replace('\/<\\?|\\?'.'>\/','',$text);\/\/完全过滤js ...

PHP获取整个页面前三个<p>标签里面的内容
text = '<p>111<\/p><p>222<\/p><p>333<\/p><p>444<\/p><p>555<\/p><p>666<\/p>';$pattern = '\/(<p>[A-z0-9]*<\\\/p>)\/i';var_dump(array_slice(preg_get($pattern , $text),0,3));function preg_get($pattern , $text){$out = array();preg_match_all( $pattern ...

在php中 <tr><td><tr><p>有什么具体的区别
<p>这是段落标签 每两个标签对之间的内容为一段<\/p> <table> <tr> <td>这里是表格里的内容(第一个小单元格)<\/td> <td>这里是表格里的内容(第二个小单元格)<\/td> <td>这里是表格里的内容(第三个小单元格)<\/td> <\/tr> <\/table> 一个<tr><\/tr>标签对是一列 也就是里面是...

长白朝鲜族自治县18328077628: 通过php模拟psot提交获取数据.高分请教.. -
何婷心律: 这个用php做不好吧,建议使用javascript做,可以使用jquery的ajax功能,做个比方:$.ajax({ url:'.....', data:{a:123,b:456}, type:'POST', success:function(data){ //这里的data就是返回显示的东西,你可以从这里面采集} }); 然后可以用PHP去处理模拟数据

长白朝鲜族自治县18328077628: 如何用PHP模拟POST方法 采集提交后的数据 -
何婷心律: cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等.最爽的是,PHP也支持 cURL 库.

长白朝鲜族自治县18328077628: 请教大神,关于PHP模拟登录的,不知道如何构建post,主要是<input type="button"...不懂, 表单如下: -
何婷心律: 这个你首先在浏览器(火狐看的清除)上登录下,然后抓个包(即把post表单获取到),post表单属于http里面主体信息了,然后把头信息的cookie获取到,综合一下就可以模拟登录了.大概格式如下:$socket = "POST /t/telnet/index.php HTTP...

长白朝鲜族自治县18328077628: php接口开发怎么模拟post请求 -
何婷心律: 接口无非就是接受数据然后处理返回结果,客户端接收结果数据处理 1 2 3 4 5 6/*api xxxxx.php*/ $data= $_POST;数据处理.....returnjson_encode($redata); /*客户端 js*/ 1 2 3$.post('xxxxx.php',data,fucnction(datas){处理结果}); 类似上面的处理流程

长白朝鲜族自治县18328077628: php怎么模拟浏览器发送get请求 -
何婷心律: 1. get请求?直接跳转里面带上参数就行了2. 代码如下:<?php header('Location: http://xxx/yyy?ddd=1&kkk=2');?>

长白朝鲜族自治县18328077628: 在php中如何模拟HTTP - USER - AGENT,一个网站需要验证这个,请问下怎么模拟 -
何婷心律: function fopen($url, $limit = 500000, $post = '', $cookie = '', $bysocket = false, $ip = '', $timeout = 15, $block = true) { $return = ''; $matches = parse_url($url); $host = $matches['host']; $path = $matches['path'] ? $matches['path'].($matches['query'] ? '?...

长白朝鲜族自治县18328077628: PHP面试题(高手请进)
何婷心律: php不会,思路如下 AB斜率可以计算吧,(x1-x2) / (y1-y2) ,就是 tg值,再用sin ,cos分别求点坐标,

长白朝鲜族自治县18328077628: PHP面试有什么技巧么? -
何婷心律: PHP 作为一种简单、实用、“高效”的语言,是深受广大初创互联网公司喜爱的:1. 框架,你得熟悉几种主流的框架,如果对上这家公司所采用的更好,什么 TP,CI,Yii 等至少用过一个,知道 MVC,ORM 这些名词解释2. 了解基础的 Session,...

长白朝鲜族自治县18328077628: 在PHP中p=123456,如何在每个字符前加”+“变成p=+1+2+3+4+5+6,这样的格式,谢谢了! -
何婷心律: $p = '123456';$p = '+' . implode('+', str_split($p)); echo $p;

长白朝鲜族自治县18328077628: 怎么用php模拟post提交请求得到相应,能给个例子吗 -
何婷心律: //这是我写的封装类,也就是模拟POST提交//$durl也就是URL地址,比如//$data 为POST数组//模拟POST提交的用途,采集数据,模拟用户登录(为什么现在登录需要验证码,不是为了测你智商..更不是考你的眼力,而防止你模拟登录..用暴力破...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网