Android 台灣中文網
標題:
[急] HttpGet 丟老闆指定的url就當了
[打印本頁]
作者:
cchahaliu
時間:
2013-8-5 10:42
標題:
[急] HttpGet 丟老闆指定的url就當了
老闆希望我寫一段可以讓使用者一打開app的時候,我們公司的後台就可以得知使用者打開的行為。
目的是讓使用者在不知不覺中送出資料給公司
所以我用HttpGet丟url過去。使用者只要丟url給公司,不需從公司的後台拿資料。
以下是我的程式碼,這是用AsyncTask 跑的
public class RequestTask extends AsyncTask<String, String, String>{
@Override
protected String doInBackground(String... uri) {
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response;
String responseString = null;
try {
HttpGet get = new HttpGet(uri[0]);
Log.v("test","start RESPONSE");
response = httpclient.execute(get);
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
Log.v("test","status complete");
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
responseString = out.toString();
} else{
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return responseString;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
}
上述程式碼,當丟進去的uri[0]="http://www.google.com"時,test會印出status complete
但是當我用老闆給的uri[0]="http://best12t.gosoft.com/web_service/counter/CSTrack2.aspx?cli=focusgroup&cam=androidtest&1=W_S_UID&2=W_S_SC&3=W_S&5=W_S_DATE&7=www.gocorp.com&8=www.gocorp.com%2Ftc%2F&9=&10=W_S_IP&11=www.gocorp.com&12=www.gocorp.com%2F&13=&14=website&15=W_S&16=W_S&17=W_S&19=windows&20=Win%207(x64)&21=1&22=9.0&23=1366x768&24=1&25=1&6=CRM%20%26%20%u6578%u4F4D%u884C%u92B7%u7684%u9818%u5C0E%u8005%20-%20MIGO%20CORP%20%u529F%u5178%u96C6%u5718%20&1375088741345"
httpget就直接失敗了,我的app在模擬器上也自動關閉
為了驗證這串url是否正確,我有另外寫個app在模擬器上以網頁的方式打開,成功了,而且公司的後台也有偵測到打開網頁時送來的user資料。
但是用HttpGet就失敗了!
拜託強者解答,我真的非常急,萬分感謝
作者:
whl
時間:
2013-8-6 22:35
本帖最後由 whl 於 2013-8-6 22:47 編輯
會不會是 urlencode 的問題?
貼一下 log 比較好判斷。
Ps.檢查一下網址,網址有問題。
作者:
cchahaliu
時間:
2013-8-8 12:21
以解決了~ 非常感謝
作者:
xjxuvup
時間:
2013-8-8 13:53
請問後來是怎麼解決問題呢?
方便分享出來嗎
作者:
cchahaliu
時間:
2013-8-12 11:02
後來居然是因為一個很笨的問題
url傳送的最後一個欄位
&6=......到最後一段居然出現&1375088741345....
編碼上面有錯,修正過後沒有&就可以正常執行了
但奇怪的是把&1375088741345丟到browser居然可以正常執行,但在android的httpget無法
作者:
xjxuvup
時間:
2013-8-12 16:48
沒有sourcecode我看不大懂
不過既然能解決那就好
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1