بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

دو تا سوال دارم (اولی حل شد)

مدیریت گفتگو
goorgool 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان

من وقتی میخوام از طریق نرم افزارم به صفحه ی مورد نظرم که در یک هاست رایگان قرار داره وصل شم و سورسش رو بخونم کد ارور 403 رو برمیگردونه ولی وقتی از طریق Browser گوشی یا کامپیوتر میرم بدون هیچ مشکلی متصل میشه.

  HttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet("page morede nazar");
try {
HttpResponse response = client.execute(method);
int code = response.getStatusLine().getStatusCode();
Toast.makeText(ActivityMain.this, "code: " + code, Toast.LENGTH_LONG).show();
InputStream stream = response.getEntity().getContent();
String result = inputstreamToString(stream);
Log.i("mytag", "result : " + result);

}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}

البته تا امروز چنین مشکلی نداشتم و به درستی کار میکرد ولی امروز اینجوری شده، آیا در هاست تنظیمات خاصی وجود داره؟ یا مثلاً من در برنامم برای اینکه همیشه به درستی بتونم به صفحه ی موردنظر وصل شم بهتره از متد httpGet استفاده کنم و یا httpPost و یا راه بهتر دیگری وجود داره؟

حالا اومدم و از این طریق وصل شدم و به درستی وصل میشه و کد 200 رو برمیگردونه

  try {
URL url = new URL("page morede nazar");
try {
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.connect();
int code = connection.getResponseCode();
Toast.makeText(ActivityMain.this, "code: " + code, Toast.LENGTH_LONG).show();

}
catch (IOException e) {
e.printStackTrace();
}
}
catch (MalformedURLException e) {
e.printStackTrace();
}

فرق این دو روش چیه؟ چرا در روش اول ارور 403 برمیگردونه ولی در روش دوم کد 200 ؟

سوال دوم اینکه وقتی میخوام با کلاس فایل دانلودر استاد یک فایلی رو از همین هاست رایگان دانلود کنم شروع به دانلود میکنه و یهو بدون هیچ دلیلی وسط دانلود میپره تو catch و تو لاگ کت ارور socketTimeout میده ، بدون اینکه setConnectTimeout و setReadTimeout براش تعریف کرده باشم.

میخواستم بپرسم ممکنه خود هاست connection رو قطع کنه؟ یعنی خود هاست timeout داشته باشه؟ (بدلیل رایگان بودنش)

نظرات

goorgool 11 سال پیش
برای پرسش اول باید یک User-Agent تعریف میکردم ولی همچنان سوال دوم پابرجاست
iranvisual 11 سال پیش
معمولا هاست های رایگان و نامحدود در کانکشن ها و برخی چیزهایی که سرورشون رو مشغول می کنه محدودیت دارن .
New Style 11 سال پیش
می تونید از هاست رایگان لینک استفاده کنید که بهتر از چیزای دیگه هست
کاشی زاده 11 سال پیش
sockttimeout زمانی رخ میده که سرور جوابی به کلاینت نده احتمالا دسترسی برای دانلود فایل محدود شده .
goorgool 11 سال پیش
دوستان ممنون بابت راهنمایی
iranvisual 11 سال پیش
از هاست ابری رایگان سایت parspack.com استفاده کن . محدودیت داره ولی این محدودیتی که برای شما نیازه رو کاملا نداره .

هنوز پاسخی ثبت نشده است


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .