问题描述
听说只要这几个步骤就可以实现了,但是我现在都不知道怎么获取cookie:1、访问http://www.baidu.com/并保存cookie2、使用上面保存的cookie访问https://passport.baidu.com/v2/api/?getapi&tpl=mn&apiver=v3&tt=1395058791532&class=login&logintype=dialogLogin&callback=bd__cbs__w6qu6获取token3、使用token及上面的cookie包括用户码与密码等向https://passport.baidu.com/v2/api/?login发送POST请求进行登陆是这样子吗?publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstubURLurl=newURL("http://www.baidu.com");HttpURLConnectionconn=(HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");Stringkey=null;for(inti=1;(key=conn.getHeaderFieldKey(i))!=null;i++){System.out.print(key+":");System.out.println(conn.getHeaderField(key));}}
打印的是这些数据:Date:Wed,02Jul201414:42:58GMTContent-Type:text/html;charset=utf-8Transfer-Encoding:chunkedConnection:Keep-AliveVary:Accept-EncodingSet-Cookie:H_PS_PSSID=1461_5225_6996_7442_6505_7232_6018_7203_7254_7134_7387_6888;path=/;domain=.baidu.comSet-Cookie:H_PS_PSSID=1461_5225_6996_7442_6505_7232_6018_7203_7254_7134_7387_6888;path=/;domain=.baidu.comSet-Cookie:H_PS_PSSID=1461_5225_6996_7442_6505_7232_6018_7203_7254_7134_7387_6888;path=/;domain=.baidu.comP3P:CP="OTIDSPCORIVAOURINDCOM"Cache-Control:privateCxy_all:baidu+5fefedc1d0be4850595fb931d0d9997cExpires:Wed,02Jul201414:42:36GMTX-Powered-By:HPHPServer:BWS/1.1BDPAGETYPE:1BDQID:0xd297ffda00049779BDUSERID:0
哪些才是cookie?还有我应该怎么用cookie去访问第二个网站?很困惑。。
解决方案
解决方案二:
这问题你上次问过吧,还没研究出来呢百度这个登录的难点在于你要研究透他是如何根据前端传的参数获取验证码的,你现在这个流程里连验证码都没有传过去,如何登录得了?
解决方案三:
引用1楼ygycomon的回复:
这问题你上次问过吧,还没研究出来呢百度这个登录的难点在于你要研究透他是如何根据前端传的参数获取验证码的,你现在这个流程里连验证码都没有传过去,如何登录得了?
上次那个到现在都还没有解决,但是我除了那一点没有解决,很多地方都还没有解决。。。上次那个是百度注册,现在这个是百度登陆,百度登陆有时候是不需要验证码的。。之前你研究的那个token,后来,我在网上搜索了几番,貌似能找得到那个token值:1、访问http://www.baidu.com/并保存cookie2、使用上面保存的cookie访问https://passport.baidu.com/v2/api/?getapi&tpl=mn&apiver=v3&tt=1395058791532&class=login&logintype=dialogLogin&callback=bd__cbs__w6qu6获取token3、使用token及上面的cookie包括用户码与密码等向https://passport.baidu.com/v2/api/?login发送POST请求进行登陆具体看这个网址教程说的:http://blog.163.com/lixiangqiu_9202/blog/static/53575037201421823617918/但是现在我不懂的是,不知道怎么用java程序:1.如何保存cookie,哪个才是cookie2.怎么用保存的cookie,访问某个特定的网站3.怎么使用token和cookie还有用户名,密码这些用post去访问某个网站。还有我上面那样保存cookie是不是正确了,这样是不是找到了cookie?publicstaticvoidmain(String[]args)throwsIOException{//TODOAuto-generatedmethodstubURLurl=newURL("http://www.baidu.com");HttpURLConnectionconn=(HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");Stringkey=null;for(inti=1;(key=conn.getHeaderFieldKey(i))!=null;i++){System.out.print(key+":");System.out.println(conn.getHeaderField(key));}}
打印的数据:Date:Wed,02Jul201414:42:58GMTContent-Type:text/html;charset=utf-8Transfer-Encoding:chunkedConnection:Keep-AliveVary:Accept-EncodingSet-Cookie:H_PS_PSSID=1461_5225_6996_7442_6505_7232_6018_7203_7254_7134_7387_6888;path=/;domain=.baidu.comSet-Cookie:H_PS_PSSID=1461_5225_6996_7442_6505_7232_6018_7203_7254_7134_7387_6888;path=/;domain=.baidu.comSet-Cookie:H_PS_PSSID=1461_5225_6996_7442_6505_7232_6018_7203_7254_7134_7387_6888;path=/;domain=.baidu.comP3P:CP="OTIDSPCORIVAOURINDCOM"Cache-Control:privateCxy_all:baidu+5fefedc1d0be4850595fb931d0d9997cExpires:Wed,02Jul201414:42:36GMTX-Powered-By:HPHPServer:BWS/1.1BDPAGETYPE:1BDQID:0xd297ffda00049779BDUSERID:0
是不是Set-Cookie就是cookie的数据?那如果我用保存下来的cookie数据去访问这个网站:https://passport.baidu.com/v2/api/?getapi&tpl=mn&apiver=v3&tt=1395058791532&class=login&logintype=dialogLogin&callback=bd__cbs__w6qu6程序该怎么写?我主要就是代码,不太会写,不知道应该要调用那些api。。