PDA

View Full Version : چرا این کد دیگه درست کار نمی کنه؟



ali zi zeperto
پنج شنبه 22 اردیبهشت 1390, 08:51 صبح
سلام
من یه برنامه نوشته بودم که باهاش وصل می شدم به سایت بورس و اطلاعات یه صفحه وب رو می گرفتم و روش کار می کردم.چند وقتیه که این برنامه با سایتی که باهاش کار می کردم دیگه جواب درست نمیده.یعنی قبلا با همین کد اطلاعات رو می خوندم و درست نمایش داده میشه ولی الان اطلاعاتی که می خونه یه سری شکلک و چارخونه نشون میشه.character encoding اون صفحه utf8 بوده و هست و برنامه من هم utf8 می خونه و چاپ می کنه.حالا کسی اگر می دونه مشکل از کجاست راهنمایی کنه.
اینم کدی که برای دریافت اطلاعات صفحه نوشتم
سایتی هم که باهاش کار می کردم www.tsetmc.com هست.الان این کد با سایتهای دیگه درست کار می کنه ولی فقط با این سایت کار نمی کنه.:افسرده:


import java.net.URL;
import java.net.URLConnection;
import java.net.MalformedURLException;
import java.io.InputStream;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class net {

public StringBuffer get_content(String url){

StringBuffer str = new StringBuffer();

try{
URL myURL = new URL(url);
URLConnection myConnection = myURL.openConnection();
InputStream in = myConnection.getInputStream();
BufferedReader myStream = new BufferedReader(new InputStreamReader(in,"UTF8"));
int ch;

while((ch = myStream.read()) != -1){
str.append((char)ch);
}
}
catch(MalformedURLException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
return str;
}
}

ali zi zeperto
جمعه 23 اردیبهشت 1390, 07:07 صبح
هیچ نظری نبود؟:متفکر:

omidbizdotcom
جمعه 23 اردیبهشت 1390, 21:39 عصر
این کد منطقا باید درست کار کنه فکر کنم اطلاعاتی که برات میاد مشکل داره می تونی با اینم یه تست بزنی



URLEncoder.encode(url, "UTF-8");

ali zi zeperto
شنبه 24 اردیبهشت 1390, 08:24 صبح
فکر کنم اطلاعاتی که برات میاد مشکل داره
خودمم همین فکر رو می کنم.یعنی یه جوری شاید خواستن اطلاعات رو کد کنن که برنامه های غیر از مرورگر نتونن بگیرن.از طرفی هم باید ببگم که ربات های گوگل تمام صفحات این سایت رو درست ایندکس کرده ان و مشکلی توش نیست.:متفکر:

omidbizdotcom
یک شنبه 25 اردیبهشت 1390, 16:12 عصر
اگه مي خواي مطمئن شي که اطلاعات درسته يا نه آپاچي يه پروژه داره Http رو مياره جلو چشات استفاده ازش هم سخت نيست يه نگاه بهش بنداز



ContentEncodingHttpClient httpclient = new ContentEncodingHttpClient();
HttpGet httpget = new HttpGet("http://www.yahoo.com/");
HttpResponse response = httpclient.execute(httpget);

Header h = rsp.getFirstHeader("Content-Encoding");
if (h != null) {
System.out.println("----------------------------------------");
System.out.println("Response is " + h.getValue() + " encoded");
System.out.println("----------------------------------------");
}



http://hc.apache.org/index.html
HttpComponents

ali zi zeperto
چهارشنبه 28 اردیبهشت 1390, 13:36 عصر
اگه مي خواي مطمئن شي که اطلاعات درسته يا نه آپاچي يه پروژه داره Http رو مياره جلو چشات استفاده ازش هم سخت نيست يه نگاه بهش بنداز



ContentEncodingHttpClient httpclient = new ContentEncodingHttpClient();
HttpGet httpget = new HttpGet("http://www.yahoo.com/");
HttpResponse response = httpclient.execute(httpget);

Header h = rsp.getFirstHeader("Content-Encoding");
if (h != null) {
System.out.println("----------------------------------------");
System.out.println("Response is " + h.getValue() + " encoded");
System.out.println("----------------------------------------");
}



http://hc.apache.org/index.html
HttpComponents
سلام دوباره
این کد بالا رو هر چی می گردم نمی دونم برای HttpResponse چی رو باید import کنم؟
از طرفی یه برنامه پیدا کردم که این اطلاعات مربوط به همون سایت رو تو خروجیش میده.

HTTP/1.1 302 Found
Date: Wed, 18 May 2011 09:22:33 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Location: http://tsetmc.com/Site.aspx
Set-Cookie: ASP.NET_SessionId=i4pv5n45kjovgb55e3ik4dmn; path=/; HttpOnly
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 144

omidbizdotcom
چهارشنبه 28 اردیبهشت 1390, 21:41 عصر
سلام


این کد بالا رو هر چی می گردم نمی دونم برای HttpResponse چی رو باید import کنم؟



import org.apache.http.HttpResponse;

HttpCore رو دانلود کن
بطور کلی جاوا نت و I/O امکانات خیلی کمی برای کاری که می خوای انجام بدی دارند با استفاده از این پروژه می تونی هر چیزی که برای دریافت و ارسال روی Http لازم داری داشته باشی