iT邦幫忙

0

我使用VistaPanel當我的虛擬主機 android讀取php的問題

http://web0204.byethost17.com/ 這是我的連結
我在手機端不同網域下我可以找到這個連結
可是當我用不同網域跑我的andorid端的時候 他是找不到的,只有在相同網域下才能找到我的php我這個地方有點不懂
這是我讀取手機端程式碼

try {
            HttpClient httpClient = new DefaultHttpClient();
            //記得改成自己的
            HttpPost httpPost = new HttpPost("http://web0204.byethost17.com/check.php");
            httpPost.addHeader("Cookie","__test=e88b514d68;expires=Thu,31-Dec-37 GHT;path=/");
            ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("id",account));
            params.add(new BasicNameValuePair("password",passwd));
            httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
            HttpResponse httpResponse = httpClient.execute(httpPost);
            //view_account.setText(httpResponse.getStatusLine().toString());
            HttpEntity httpEntity = httpResponse.getEntity();
            InputStream inputStream = httpEntity.getContent();

            BufferedReader bufReader = new BufferedReader(new InputStreamReader(inputStream, "utf-8"), 8);
            StringBuilder builder = new StringBuilder();
            String line = null;
            while((line = bufReader.readLine()) != null) {
                builder.append(line + "\n");
            }
            inputStream.close();
            result = builder.toString();
        } catch(Exception e) {
            // Log.e("log_tag", e.toString());
        }

2 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2020-02-25 16:33:36
最佳解答

一點一點來推論你的情形
你還是得自己去找出錯誤原因
祝你好運

1.我現在的問題是用自己手機的網路執行APP是連不到php的,

「手機的網路」通常是指 3G/4G/Internet,走外面連不到

2.但我用手機的瀏覽器找php是可以找到的。

走外面連得到...與第1點矛盾

3.但只要讓手機連同一個wifi就又可以執行APP了

走內網連得到--->不是程式問題(除非程式裡寫死IP,與第2點矛盾)

我在千里之外測試你的 check.php
你的 php 是可以從外面連得上的,與你的第1點矛盾

得到的回覆如下

http://web0204.byethost17.com/check.php?id=id&password=password

<html>
    <body>
        <script type="text/javascript" src="/aes.js" ></script>
        <script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f
            <d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("36a08068796880fefb4d627faa5b1be3");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http://web0204.byethost17.com/check.php?id=id&password=password&i=1";
            </script>
            <noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript>
        </body>
    </html>
求關注 iT邦新手 5 級 ‧ 2020-02-27 11:28:21 檢舉

過了幾天 回來再來用 突然在想是不是cook的問題 把固定值拔掉就可以了 其實是有些朋友都說 我表達能力不好 我會在加強的/images/emoticon/emoticon36.gif

0
浩瀚星空
iT邦超人 1 級 ‧ 2020-02-25 11:19:23

「不同網域跑我的andorid端的時候 他是找不到的」
這個是否可以求一下解釋??

不同網域會找不到不是很正常嘛?還是我誤會了你的說法呢??

看更多先前的回應...收起先前的回應...
求關注 iT邦新手 5 級 ‧ 2020-02-25 11:26:17 檢舉

我表達得不好
我的意思因該是 我在同一個wifi下跑我的程式碼他是可以執行的,但
當我使用手機自己網路的時候我會執行錯誤 我想要解決這個問題
換一種說法是 讓不同地方的使用者 都可以連進來跑我的php黨 這樣

感謝你的回覆

froce iT邦大師 1 級 ‧ 2020-02-25 11:48:13 檢舉

你有申請domain name嗎?


剛剛看了一下,可以連。
如果是這樣可能和你手機的ISP有關。

這個跟你的程式無關,你可以先試著用你手機的瀏覽器先直接看看能否連結到這個域名。
有時這只是單純的dns緩存的問題。
但依你目前的情況,一定是與你的程式無關才對。
你也可以看看你執行的錯誤是什麼錯誤。

求關注 iT邦新手 5 級 ‧ 2020-02-25 13:11:02 檢舉

沒有申請
浩瀚星空 我手機的瀏覽器可以連到http://web0204.byethost17.com/ 這個網址看的到顯示畫面

froce iT邦大師 1 級 ‧ 2020-02-25 13:31:06 檢舉

沒有申請我還能連的到才是靈異事件...應該有人幫你做掉了。

這句...你應該要改掉吧。

httpPost.addHeader("Cookie","__test=e88b514d68;expires=Thu,31-Dec-37 GHT;path=/");

# __test應該存在你GET的回應cookies裡面,expires存在你的回應headers裡面,這兩個應該都會變動,不能固定。
dragonH iT邦超人 5 級 ‧ 2020-02-25 13:36:56 檢舉

forrest XD/images/emoticon/emoticon37.gif

求關注 iT邦新手 5 級 ‧ 2020-02-25 13:50:39 檢舉

標錯人抱歉 有點眼花了
我現在還是搞不是很懂為甚麼不同網域連不到==
有拉 我用dreamweaver這個

https://ithelp.ithome.com.tw/upload/images/20200225/20109685xJoDTDi4BM.png

cookie這會變動喔 謝謝提醒我再改看看

其實,現在我已經被你搞混了。
你會不會被自已以為的問題給搞死了啊?

首先,該域名連我都可以連的到
該域名是在2006建立的。到期日是今年的2020-04-01。
在2020-02-25有人更新過。
域名註冊商是 namecheap

所以域名可能不是你申請的,是有人給你用的才對。
不過從更新時間來看。跟你發文的時間幾乎同步。
所以我會推測你當時還未完全生效。所以會發生有的可以通有的不能通的情況。

再來就是你程式的問題。現在不懂的是。你是連不到還是程式發生錯誤。
不要兩個問題混在一起。會完全搞不懂你的問題。

先確定可以連結,時間過那麼久了,也因該可以連接了。
再來處理程式的問題。

你有很多東西都是抄過來的。抄沒關係。但要懂的其原理是什麼。不要只會抄。然後搞不懂就直接問「錯誤在哪裏」。連個錯誤訊息也沒有。
還問的不知所「知」。這樣很不好的。

求關注 iT邦新手 5 級 ‧ 2020-02-25 15:40:20 檢舉

浩瀚星空我很抱歉 我會注意的
我這邊有個問題是這個網名是我在2/04創的 讓我創建的網址是:https://byet.host/ <- 所以你說的"該域名是在2006建立的"是代表我剛好跟別人重複名?
我現在的問題是用自己手機的網路執行APP是連不到php的,但我用手機的瀏覽器找php是可以找到的。
但只要讓手機連同一個wifi就又可以執行APP了 我搞不懂這中間的問題

你真的是會被自已給搞死。
你明明是po出 byethost17.com 這個域名出來。

現在又跑出 byet.host 這個出來??
你到底是用哪一個域名啊。我還真搞不懂你啊!!!

而且 byet.host 是在2015創建的。到今年4月底到期。
這個網址用看的也知道一定不是你創的。

我推測你用的是這個網址生成的免費域名。
但重點並不是這個。

而是你到底懂不懂你的問題在哪。一下子域名這個,一下子域名那個。
你連你使用的域名是啥都沒搞懂嘛?
還是,你知道什麼是域名嘛?

不要被自已打敗。自已搞死自已又問的不知所「知」。這很難給你對症下藥。

醫:有哪邊不(書)服
病:啊就進來不(書)服
醫:那現在呢?
病:出去要等等才知道。
醫:..........
病:啊,我從武漢路過來的
醫:滾~~~~~~~~~~~
病:從武漢路過來不對嘛?(邊走邊咳)

我要發表回答

立即登入回答