- 網站:http://na.leagueoflegends.com/ladders/solo-5x5
- 搜索AA播放器(例如:Jaiybe)
- 您重定向(在這種情況下:http://na.leagueoflegends.com/ladders/solo-5x5?highlight=28&page=1)
- 閱讀內容
我想在java/android中這樣做。HTTP POST和響應的具體案例研究
我分析搜索時,網站POST請求,結果是:
- OP:搜索
- 球員:Jaiybe
- ladder_id:3
- form_build_id:外形fff5e6e2569f1e15e5a5caf2a61c15e2
- form_id:ladders_filter_form
構建一個簡單的HTTP POST混合物,並讓閱讀的內容...
代碼:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://na.leagueoflegends.com/ladders/solo-5x5");
// Add your POST METHOD attributes
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("op", "Search"));
nameValuePairs.add(new BasicNameValuePair("player", Jaiybe));
nameValuePairs.add(new BasicNameValuePair("ladder_id", "3"));
nameValuePairs.add(new BasicNameValuePair("form_build_id","form-daca6fff89cedc352ccc3f533afa3804"));
nameValuePairs.add(new BasicNameValuePair("form_id","ladders_filter_form"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
responseBody = EntityUtils.toString(response.getEntity());
return responseBody;
當我運行它 - 我得到這麼某種離線頁面...
數字form_build_id - 不斷變化,但這是沒有問題的,使用仍然是一樣的,也如果我想「測試」,如果這可能是問題,我不知道如何我會...
OR:還有其他 - 快速 - 如何獲得相同的結果嗎?
奇怪的是,我在android上獲得的「error」網站源代碼與我在我的PC(Win7,Eclipse,Java)或我的瀏覽器上運行相同。好像會有兩個版本的離線網站 - 移動和PC - 但我的問題是:服務器如何知道代碼在Android設備上運行?有沒有辦法如何在HttpClient中設置?
這是你寫的網站,還是你想解析別人的網站?只是好奇。如果你有網站代碼的控制,那麼有更簡單的方法。 –
只解析第三方網站。 –
http://stackoverflow.com/questions/3658721/httpclient-4-error-302-how-to-redirect –