我想做一個程序,登錄到一個網站,並執行一些自動化的活動。我一直在使用HttpClient 4.0.1,並使用它開始:http://hc.apache.org/httpcomponents-client/primer.html。用HttpClient登錄站點Post
在這個特定的網站上,cookie不是通過「set-cookie」頭設置的,而是通過javascript設置的。
到目前爲止,我無法實現登錄。
我嘗試了以下事情:
- 手動添加標頭中出現的螢火
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()); }
- 創建BasicClientCookies和所有請求頭使用setCookieStore進行設置。不幸的是,我不知道如何測試cookie是否實際發送。還有,有什麼方法可以測試發送其他自動參數嗎? (如正在模擬的瀏覽器等)。
我得到的迴應是:HTTP/1.1 417預期失敗
我還是新來這一點,所以沒有人知道離手的問題可能是什麼?如果沒有,我會發布更多的細節,代碼和網站。
我會盡力,謝謝! – humoeba 2010-01-14 16:18:24