我正在尝试制作一个程序,用于登录网站并执行一些自动化活动。我一直在使用HttpClient 4.0.1,并使用以下内容开始:http://hc.apache.org/httpcomponents-client/primer.html。
在这个特定的网站上,cookie不是通过“set-cookie”头设置的,而是通过JavaScript设置的。
到目前为止,我无法实现登录。
我尝试了以下几件事:
1.手动添加所有在firebug中显示的请求头的标头
NameValuePair[] data = { new BasicNameValuePair("Host",host), new BasicNameValuePair("User-Agent"," Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7"), new BasicNameValuePair("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"), new BasicNameValuePair("Accept-Language","en-us,en;q=0.5"), new BasicNameValuePair("Accept-Encoding","gzip,deflate"), new BasicNameValuePair("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7"), new BasicNameValuePair("Keep-Alive","300"), new BasicNameValuePair("Connection","keep-alive"), new BasicNameValuePair("Referer",referer), new BasicNameValuePair("Cookie",cookiestr) };
for(NameValuePair pair : data){ loginPost.addHeader(pair.getName(),pair.getValue()); }
2.创建BasicClientCookies并使用setCookieStore设置。不幸的是,我无法弄清楚cookie是否实际被发送。此外,有没有办法测试发送了哪些其他自动参数?(例如模拟了哪个浏览器等)。
我得到的响应是:HTTP/1.1 417 Expectation Failed。
我对这个还很新,所以有人知道问题可能是什么吗?如果没有,我将发布更多详细信息、代码和网站。
在这个特定的网站上,cookie不是通过“set-cookie”头设置的,而是通过JavaScript设置的。
到目前为止,我无法实现登录。
我尝试了以下几件事:
1.手动添加所有在firebug中显示的请求头的标头
NameValuePair[] data = { new BasicNameValuePair("Host",host), new BasicNameValuePair("User-Agent"," Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7"), new BasicNameValuePair("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"), new BasicNameValuePair("Accept-Language","en-us,en;q=0.5"), new BasicNameValuePair("Accept-Encoding","gzip,deflate"), new BasicNameValuePair("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7"), new BasicNameValuePair("Keep-Alive","300"), new BasicNameValuePair("Connection","keep-alive"), new BasicNameValuePair("Referer",referer), new BasicNameValuePair("Cookie",cookiestr) };
for(NameValuePair pair : data){ loginPost.addHeader(pair.getName(),pair.getValue()); }
2.创建BasicClientCookies并使用setCookieStore设置。不幸的是,我无法弄清楚cookie是否实际被发送。此外,有没有办法测试发送了哪些其他自动参数?(例如模拟了哪个浏览器等)。
我得到的响应是:HTTP/1.1 417 Expectation Failed。
我对这个还很新,所以有人知道问题可能是什么吗?如果没有,我将发布更多详细信息、代码和网站。