ورود

View Full Version : مشکل با اجرای کد دریافت داده



mani2000
یک شنبه 27 اسفند 1396, 11:24 صبح
سلام من در جاوا با api تویتتر داده میخوام بگیرم کد گیت هاپ رو نوشتم این خطا در اجرا میاد کسی میدونه مشکل چیه؟



Exception in thread "main" connect timed out
Relevant discussions can be found on the Internet at:
http://www.google.co.jp/search?q=506c3b988 or
http://www.google.co.jp/search?q=11366988a
TwitterException{exceptionCode=[506c3b98-1136896a 63e3f388-1596bf9d], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=4.0.4}
at twitter4j.HttpClientImpl.handleRequest(HttpClientI mpl.java:189)
at twitter4j.HttpClientBase.request(HttpClientBase.ja va:58)
at twitter4j.HttpClientBase.get(HttpClientBase.java:8 5)
at twitter4j.TwitterImpl.get(TwitterImpl.java:1786)
at twitter4j.TwitterImpl.search(TwitterImpl.java:255)
at gettweet.main(gettweet.java:38)
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(N ative Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Un known Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress( Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.<init😠Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsUR LConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainC onnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainC onnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsUR LConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInp utStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInp utStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl. getResponseCode(Unknown Source)
at twitter4j.HttpResponseImpl.<init😠HttpResponseImpl.java:35)
at twitter4j.HttpClientImpl.handleRequest(HttpClientI mpl.java:143)
... 5 more

vahid-p
سه شنبه 29 اسفند 1396, 13:38 عصر
connect timed out
زمان برای اتصال پایان یافته. بعضی وقتها یا به خاطر عدم اتصال به اینترنت یا هر مشکل دیگه ای در ارتباط کلاینت و سرور ممکنه این خطا رو بده. مسئله ای نیست.
شما بهتره در try-catch این خطا رو بگیرید و به نحو مطلوبی نشون بدید.
اگر هر بار تکرار میشه پس حتما در آدرس یا اتصالتون مشکلاتی وجود داره

mani2000
جمعه 03 فروردین 1397, 07:30 صبح
الان این خطا میاد
Couldn't connect: connect timed out Relevant discussions can be found on the Internet at: http://www.google.co.jp/search?q=506c3b98 or http://www.google.co.jp/search?q=1136696a

TwitterException{exceptionCode=[506c3b98-1136696a 63e3f388-1596bf9d], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=4.0.4}
چه کنم؟؟

vahid-p
جمعه 03 فروردین 1397, 17:15 عصر
یه چیزی هم توجه کنید. این timeout ممکنه به دلیل فیلتر بودن توییتر باشه. در کل این خطا چیزی که از ظاهرش پیداست نمیتونه اتصال برقرار کنه. دیگه نکته برنامه نویسی خاصی نداره که بتونم توصیه بکنم.

mani2000
شنبه 04 فروردین 1397, 09:04 صبح
سلام ممنونم مهندس
اما من از فیلترشکن استفاده کردم . باز همین خطا میاد
شما کدی که داده از توییتر بگیره دارید توصیه کنید(که خطا نداشته باشه)
باز هم ممنونم
فقط چطور می تونم بگم ۱۰۰ تا داده برام بگیره؟
ممنون

vahid-p
شنبه 04 فروردین 1397, 15:06 عصر
من با api توییتر کار نکردم و قطعا api اش با api های دیگه تفاوت خاصی نداره.
فعال کردن فیلترشکن کافی نیست و کل ترافیک سیستمتون رو از این طریق عبور نمیده. برای همین هم شاید چنین مشکلی دارید.

اینو چک کنید:
https://stackoverflow.com/questions/4599933/how-to-use-an-http-proxy-in-java
و مباحث مشابه.

خودم چک نکردم.


فقط چطور می تونم بگم ۱۰۰ تا داده برام بگیره؟
این سوالات ارتباطی به جاوا نداره، باید ببینید آیا توییتر بهتون چنین api میده یا نه. بهتره سرچ کنید.

asemaneiran
یک شنبه 19 فروردین 1397, 10:07 صبح
سلام
من هم همین مشکل رو دارم. خواهش میکنم اگه کسی قبلا انجام داده . راهمایی کنه.ممنون میشم

asemaneiran
جمعه 31 فروردین 1397, 10:38 صبح
سلام
من با این کد میخوام داده بگیرم
اما خطا داره
public static void main(String args[]) throws Exception{
// The factory instance is re-useable and thread safe.
TwitterFactory factory = new TwitterFactory();
AccessToken accessToken = loadAccessToken(Integer.parseInt(args[0]));
Twitter twitter = factory.getInstance();
twitter.setOAuthConsumerKey("[consumer key]", "[consumer secret]");
twitter.setOAuthAccessToken(accessToken);
Status status = twitter.updateStatus(args[1]);
System.out.println("Successfully updated the status to [" + status.getText() + "].");
System.exit(0);
}
private static AccessToken loadAccessToken(int useId){
String token = // load from a persistent store
String tokenSecret = // load from a persistent store
return new AccessToken(token, tokenSecret);
}
خطا
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at gettweet.main(gettweet.java:30)
کسی هست راهنمایی کنه؟؟؟

vahid-p
جمعه 31 فروردین 1397, 17:45 عصر
سلام
من با این کد میخوام داده بگیرم
اما خطا داره
public static void main(String args[]) throws Exception{
// The factory instance is re-useable and thread safe.
TwitterFactory factory = new TwitterFactory();
AccessToken accessToken = loadAccessToken(Integer.parseInt(args[0]));
Twitter twitter = factory.getInstance();
twitter.setOAuthConsumerKey("[consumer key]", "[consumer secret]");
twitter.setOAuthAccessToken(accessToken);
Status status = twitter.updateStatus(args[1]);
System.out.println("Successfully updated the status to [" + status.getText() + "].");
System.exit(0);
}
private static AccessToken loadAccessToken(int useId){
String token = // load from a persistent store
String tokenSecret = // load from a persistent store
return new AccessToken(token, tokenSecret);
}
خطا
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at gettweet.main(gettweet.java:30)
کسی هست راهنمایی کنه؟؟؟
من که نمیبینم خط 30 کدومه اما تو اون قسمتی که با رنگ قرمز مشخص کردید و خطا مربوط به آرایه هست، تنها آرایه ای که میبینم args هست که این خطا میگه این آرایه عنصر شماره صفرم رو نداره. در نتیجه اصلا این آرایه هیچ عنصری نداره. پس احتمالا هنگام اجرای کدتون آرگومان های ورودی به برنامه ندادید.
مثلا اگر با کامند لاین استفاده میکنید مثلا مینویسید:

java myprogram.jar www.twitter.com x

که www.twitter.com (http://www.twitter.com) آرگومان صفرم هست و x آرگومان یکم. در برنامه نت بینز هم از قسمت configuration قابل تنظیمه .یا eclipse و.... که باید سرچ کنید در هر برنامه چطور هست. مثلا بنویس how to set arguments in netbeans

بازم مشکل داشتید، اصلا چرا از آرگومان استفاده کنید، مستقیما مقدارش رو بدید یا هنگام اجرا از کاربر بخواید مقدار رو وارد کنه و اینجوری برنامتون رو دیباگ کنید

asemaneiran
شنبه 01 اردیبهشت 1397, 08:07 صبح
سلام
ممنون
ببخشید من در جاوا مبتدی هستم الان باید دقیقا چی بنویسم؟
ممنون میشم راهنمایی کنید
با تشکر

vahid-p
شنبه 01 اردیبهشت 1397, 11:21 صبح
سلام
ممنون
ببخشید من در جاوا مبتدی هستم الان باید دقیقا چی بنویسم؟
ممنون میشم راهنمایی کنید
با تشکر
همون چیزی که به عنوان آرگومان میخواستید بدید به صورت دستی تو کد وارد کنید. مثلا
Integer.parseInt(args[0])
یک عدد هست، حالا چه عددیش رو نمیدونم. اون عدد رو جای کل این عبارت بذارید که قرار بوده به عنوان آرگومان بهش بدید. اگر هم میخواید فقط args[0] رو تغییر بدید باید عدد رو به صورت یک رشته مثلا "1" بهش بدید چون parseInt یک رشته شامل اعداد رو به عدد نوع int تبدیل میکنه.

اگر نمیدونید چه عددی باید بدید و توضیح در مورد api خود twitter میخواید نمیتونم راهنمایی کنم.