2013-08-19 3 views
1

데이터를 가져 오기 위해 호스팅 된 db에 연결하는 Android 앱이 있습니다.서버에서 호스팅되는 PHP 파일에 어떻게 액세스합니까?

로컬 호스트에서 테스트 할 때 모두 정상적으로 작동합니다.

데이터베이스를 데이터베이스에서 가져 오는 동안 오류가 발생하여 데이터베이스를 호스트 된 서버로 옮겼습니다. 이틀 후에 다시 실행하려고했습니다.

ERROR :

08-19 06:57:28.579: E/JSON Parser(32067): Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject

<!DOCTYPE는 데이터베이스의 모든 테이블에 값이 아닙니다 (I 체크 한 더블 체크). 대신 <!DOCTYPE은 동일한 서버에서 호스팅되는 'index.html'파일의 첫 번째 행입니다.

응용 프로그램에서 사용하는 URL은 http://ipaddress/filename.php입니다.

웹 호스팅 회사에서 제공 한 설명서를 읽는 동안 '서버에서 index.html을이 디렉토리의 기본 페이지 또는 기본 페이지로 취급합니다'라는 내용을 읽었습니다. 기본적으로 'www.someaddress.com'또는 IP를 입력하면 index.html을 반환합니다. 나는 응용 프로그램이 url에 제공된 IP 주소를 핑 (ping) 할 때 index.html 파일이 반환되고 있다고 추측합니다 (심지어 가능합니까?).

질문은 어떻게이 문제를 해결할 수 있습니까? 누구도 같은 문제가 발생 했습니까?

미리 감사드립니다.

+3

아마도 올바른 스크립트를 요청하지 않았을 것입니다. 반환 된 데이터를 보려면 Android 디바이스에서 반환 된 데이터를 인쇄하십시오. – SteAp

답변

2

문제를 발견했습니다. 내 생각 엔 옳았 : index.html 파일을 반환하고 json parsor jsonobject 및 따라서 오류로 변환하려고했습니다.

는하지만 내가 확인해야 또 다른 문제로 인해 무슨 일이 벌어지고 : 안드로이드 응용 프로그램은 서버에서 데이터를 가져 오는에 대한 http://ipaddress/filename.php을 사용했다

. 브라우저에서 동일한 URL을 사용하려고 시도했을 때 403 forbidden을 반환했습니다. 나는 www.sitename.com/filename.php과 URL을 대체하고 예상대로 json 응답을 반환했습니다.

http://ipaddress/filename.php 대신 www.sitename.com/filename.php과 일치하도록 앱의 모든 URL을 바꾼 다음 데이터를 올바르게 가져 오기 시작했습니다.

나는 웬일인지 안드로이드 앱에서 http://sitename.com/filename.php을 사용했을 때 index.html도 반환했습니다. 작동하려면 모두 http://www.으로 대체해야했습니다.

감사합니다. SteAp에게 도움을 요청합니다.

관련 문제