crkey1234 发表于 2009-6-5 11:24:59

新手关于xmlhttp的一些问题

本帖最后由 crkey1234 于 2009-6-8 15:08 编辑

看到某个大虾关于登录坛子的一段代码:#include <IE.au3>

Func _Post_Login($Name,$Pass)
$oHTTP = ObjCreate("Msxml2.xmlhttp")
$oHTTP.Open("Post","http://www.autoitx.com/logging.php?action=login",false)
$oHTTP.setRequestHeader("Cache-Control", "no-cache")
$oHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.setRequestHeader("Referer","http://www.autoitx.com")
$oHTTP.Send('sid=dJ6jji&formhash=aa9fb561&referer=&cookietime=2592000&loginfield=username&username=' & $Name & '&password=' & $Pass & '&questionid=0&answer=&loginsubmit=%BB%E1%D4%B1%B5%C7%C2%BC')
$Log = BinaryToString($oHTTP.responseBody)
$Log = _Search($Log,'<p>(.*?)<script>')
MsgBox(64,"提示:",$Log)
EndFunc

Func _Search($Txt,$Condition)
      Local $Result
      $array = StringRegExp($Txt,$Condition, 2, 1)
      for $i = 0 to UBound($array) - 1
            $Result = $array[$i]
                Next
      Return $Result
EndFunc

$Name= "用户名"
$Pass= "密码"

_Post_Login($Name,$Pass)
_IECreate ("http://www.autoitx.com/",1,1,0)用的post方法,小菜对其中xmlhttp实在不明。
例如:1.$oHTTP.setRequestHeader后面为啥要设置Cache-Control,Content-Type,Referer这三个参数?
2.$oHTTP.send发送的值从哪里知道的?
3.解决此类问题应该了解哪些知识?
小菜第一次发帖,望不吝赐教。

gto250 发表于 2009-6-5 18:05:32

setRequestHeader:单独指定请求的某个http头
$oHTTP.setRequestHeader("Cache-Control", "no-cache")
"no-cache":数据内容不被储存,就是说每次请求都是到服务器读取
$oHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
"application/x-www-form-urlencoded":要是post格式的话必须要用到这个
$oHTTP.setRequestHeader("Referer","http://www.autoitx.com")
Referer:告诉服务器我是从哪个页面链接过来的,有些网页时禁止外站提交的,加入这个就ok啦
$oHTTP.send的值得话,如果对html不了解的话,那就用WSockExpert或者wpe抓包可以得到,对抓到的包进行修改即可,要是对html了解的话,那就看下form表单中有些什么,可以自己构造
你去网上找下ajax的文章,可以了解这方面的知识的!



http://lwc.nhome.cn/code/showip.asp

javarike 发表于 2009-6-6 21:44:02

很好。需要看看研究一下

foxdcj 发表于 2009-7-26 14:17:34

研究研究。。。。。。。。

hnzzlzj 发表于 2010-2-6 19:36:50

再次抓包看看怎么回事

yh_albin 发表于 2012-6-20 13:30:59

既然_Post_Login($Name,$Pass)函数里已经有发送autoie.net.cn的相关请求了,为啥后面还要用_IECreate ("http://www.autoitx.com/",1,1,0)呢?
页: [1]
查看完整版本: 新手关于xmlhttp的一些问题