2013-05-26 72 views
1

我必須連接到多個URL,它是某種「喜歡」按鈕,並且有多個可以「喜歡」的文章。Android - 通過發送cookie連接到URL

我首先必須登錄,登錄時我收到一個cookie,並且在連接到url時必須發送cookie。

這是餅乾我得到:

[版本:0] [名稱:_website_session] [值:BAh7C0kiD3Nlc3Npb25faWQGOgZFVEkiJTEyZTE2ZmE3ZWI4M2Y4YmU5ZmY4OGMzYjMxYzdhNTZiBjsAVEkiEG1vYmlsZV92aWV3BjsARkZJIgpnZW9pcAY7AEZ7DToRY291bnRyeV9jb2RlIgdubDoSY291bnRyeV9jb2RlMyIITkxEOhFjb3VudHJ5X25hbWUiEE5ldGhlcmxhbmRzOgtyZWdpb24iBzAxOhByZWdpb25fbmFtZSIMRHJlbnRoZToJY2l0eSIKRW1tZW46DWxhdGl0dWRlZhY1Mi43OTI0OTk1NDIyMzYzMzoObG9uZ2l0dWRlZhY2Ljg5NDcwMDA1MDM1NDAwNEkiC2xvY2FsZQY7AEZJIgdlbgY7AEZJIgx1c2VyX2lkBjsARmkDjg4rSSIKdG9rZW4GOwBGSSI3b1RXZ2dzdVhaUWtTRGNNSHhYbmtNYWd0aXNYSklsWlBjdmd5U2l6d2VwT2hPb3NuclcGOwBU - 857b2e9d3823a16d31761b1677e6d00603ee25ba] [域名:.website.nu] [路徑:/] [屆滿:孫軍02 13:04:16 CEST 2013]]

如何通過發送cookie來連接到URL?

* 編輯 *

我用這個方法:

 second_client = new DefaultHttpClient(); 
     String getURL = "http://website.nu/look/hype" + hype_id; 
     HttpGet get = new HttpGet(getURL); 
     HttpResponse responseGet = second_client.execute(get, localContext); 

localContext是我的cookie字符串

這工作,但沒有其他方法對我的作品。 我之所以尋找另一種方法,是因爲這種方法只能工作一次..當我在海誓山盟之後多次嘗試這種方式時,它只能在第一次使用..

任何人都可以幫助我嗎?

+0

爲什麼它只是一次工作而煩惱?你可以多次創建cookie,然後用這個新的cookie執行()? – octoback

+0

將一個按鈕形象爲Facebook「like」按鈕。你可以「喜歡」多個項目。每次你點擊「like」按鈕,它就會通過發送cookie來連接到URL。這就是爲什麼它需要多次執行@antitrust – GromDroid

+0

確定,但每次都創建一個httpclient,httpresponse。不是可行的嗎? – octoback

回答

0

使用您綁定cookie的HttpContext,然後​​和HttpClient在參數中傳遞此上下文。一些在此flavor

HttpClient httpClient = new DefaultHttpClient(); 

CookieStore cookieStore = new BasicCookieStore(); 
Cookie cookie = BasicClientCookie("name", "value"); 
cookieStore.addCookie(cookie); 

HttpContext localContext = new BasicHttpContext(); 
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); 

HttpGet httpGet = new HttpGet("myUrl"); 

HttpResponse response = httpClient.execute(httpGet, localContext); 

更多的闡述in this thread

編輯

一個想法reading this:您發送與執行的響應()之前,你clearCookie爲您的網址或那種方式。與鈦,語法將是

var loader = Titanium.Network.createHTTPClient(); 
loader.open("GET",base_url + url); 
loader.onload = function() { 
    // process response 
} 
loader.clearCookies(base_url); // THE FIX. 
loader.setRequestHeader('Cookie',Titanium.App.Properties.getString("cookies")); 
loader.send(); 

找不到命令的android,但你有想法。

+0

你可以看看我的編輯? @antitrust – GromDroid