作者agomi (莱姆酒)
看板bioinfo_lab
标题[讨论] 给阿pu看的 XD
时间Fri Jan 20 12:27:30 2006
在我们使用post方法的时候
因为网页会跟我们要资料 所以要回传资料给她们
在httpclient里面用的是NameValuePair这个方法
以我同学的mail server为例 :
http://mail.formula7.idv.tw
我所准备的NameValuePair有下面这几个
NameValuePair action = new NameValuePair("action", "/cgi-bin/openwebmail/openwebmail.pl");
NameValuePair userid = new NameValuePair("loginname", "我同学的帐号名称");
NameValuePair password = new NameValuePair("password", "我同学的密码");
NameValuePair login = new NameValuePair("logindomain", "mail.formula7.idv.tw");
我跟同学讨论之後 他告诉我 我要注意每个具有<input>的标签
ex. <Input type = "text" name="loginname" ... OOXX ... >
因为每个input都可能是网页要求的参数 如果网页没有要到参数 开网页就会失败
问题是检视原始码的时候 可能有10个input标签
但是我不知道网页其实需要几个输入的参数
像上面这四个NameValuePair好像也是试误法猜出来的
我如果只写前面三个好像也可以跑出一样的结果
不管怎样 我已经可以用PostMethod把这些名值对传入网页 顺利通过认证
而且我家远端桌面台大很慢 (web of knowledge要台大ip才能开)
所以我想先试试看对google作search动作
我的想法是google只有一个输入栏位
所以我只准备一个NameValuePair
写成 NameValuePair search = new NameValuePair( "hl", "Agomi" ) ;
表示我想在google上查询Agomi
但是传回的statuscode是501
内容是:
10.5.2 501 Not Implemented
The server does not support the functionality required to fulfill the request.
This is the appropriate response when the server does not recognize the request
method and is not capable of supporting it for any resource.
google的原始码中还有很多组input标签
但是我看不出我该怎麽选择
而且如果每次都要这样猜 好像很不合理 ?
如果有10个input标签
那可是有10!种组合
所以我这边的问题就是...
有没有更好的方法看出我们需要准备几组NameValuePair来喂给网页 ?
有没有办法得知网页需要几个input parameter ?
大家来讨论看看吧 :)
我想如果你还没看到这边 我上面写的东西也可以算是我前镇子的心得 :)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.20.139
※ 编辑: agomi 来自: 218.170.20.139 (01/20 12:33)
1F:推 JosephX:你可以利用学校的proxy,如图书馆的proxy连到你想去的网站 01/20 17:09
2F:→ JosephX:这样子的效果与在学校里面连ㄧ样 01/20 17:10
4F:→ JosephX:这样即使你在家都可以抓paper :) 01/20 17:13
5F:推 agomi:soga XD thanx ^^ 01/21 10:57