الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج يستخدم Google Search

بدأه Alex programmer في 17 مايو 2011 · 12 رد · 722 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمه الله و بركاته

انا كنت بعمل برنامج بيستخد الجوجل سيرش بس مش عارف بيطلعلي اكسبشنز مش فاهما

ياريت تساعدوني

ودا كود البرنامج

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;


public class Search extends JFrame 
{
	private JTextField input ;
	private String SearchKey ;
	private JEditorPane contentArea ;
	public Search()
	{
		super("Search engine");
		input = new JTextField("Enter Search Key Word") ;
		input.addActionListener(new ActionListener() 
		{

			@Override
			public void actionPerformed(ActionEvent event) 
			{
				SearchKey = "http://www.google.com/search?as_q="+input.getText()+"&as_sitesearch=.com/" ;
				getThePage(SearchKey) ;// TODO Auto-generated method stub

			}
		}) ;
		contentArea = new JEditorPane() ;
		add(input,BorderLayout.NORTH) ;
		add(contentArea , BorderLayout.CENTER) ;
	}

	protected void getThePage(String loc) 
	{
		try 
		{
			contentArea.setPage(loc) ;
		}
		catch (IOException e) 
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}// TODO Auto-generated method stub

	}

	/**
	 * @param args
	 */
	public static void main(String[] args) 
	{
		Search app = new Search() ;
		app.setVisible(true) ;
		app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) ;
		app.setSize(300, 300) ;// TODO Auto-generated method stub

	}

}
#2

المشكلة عندك في السطر ده

  getThePage(SearchKey) ;

وبيقولك انه عندك IOException

java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.google.com/search?as_q=ali&as_sitesearch=.com/

مثلا انا كاتب ali ككلمة بحث

لما بحثت عن الخطأ 403 لقيت انه السبب انه السيرفر بيمنع طلبك

وده الكلام من موقع ويكيبديا

403 Forbidden is a HTTP status code returned by a web server when a user agent requests a resource that the server does not allow them to. In other words, the server can be reached, but the server declined to respond to the request. This response is returned by the Apache web server when directory listings have been disabled. Microsoft IIS responds in the same way when directory listings are denied. This response may also be returned by the server if the client issued a WebDAV PROPFIND request but did not also issue the required Depth header, or issued a Depth header of infinity.[1]

تم تعديل هذه المشاركة بواسطة mental-driller في 17 مايو 2011 في 18:36

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#4
mental-driller كتب:

المشكلة عندك في السطر ده

  getThePage(SearchKey) ;

وبيقولك انه عندك IOException

java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.google.com/search?as_q=ali&as_sitesearch=.com/

مثلا انا كاتب ali ككلمة بحث

لما بحثت عن الخطأ 403 لقيت انه السبب انه السيرفر بيمنع طلبك

وده الكلام من موقع ويكيبديا

403 Forbidden is a HTTP status code returned by a web server when a user agent requests a resource that the server does not allow them to. In other words, the server can be reached, but the server declined to respond to the request. This response is returned by the Apache web server when directory listings have been disabled. Microsoft IIS responds in the same way when directory listings are denied. This response may also be returned by the server if the client issued a WebDAV PROPFIND request but did not also issue the required Depth header, or issued a Depth header of infinity.[1]

طيب ليه السيرفر منع الابليكشن بتاعي

مع ان نفس اليو ار ال لو كتبتو في البروسر العادي بيشتغل ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :mad:

هويدي كتب:

قريت شويه بس مفهمتش اوي لان عندي امتحان بكرا :blink:

بس ياريت لو تقدر تساعدني اكتر

#5

لان المتصفح يقوم باضافة معلومات الى الاستعلام الخارج من جهازك الى الموقع

اما من خلال الجافا فعليك انت ان تضيفها الى استعلامك.

حاول ان تضيف مثلا كالتالي:

url = new URL(urlName);

HttpURLConnection httpcon = (HttpURLConnection) url.openConnection(); 
httpcon.addRequestProperty("User-Agent", "Mozilla/4.76"); 
BufferedReader in = new BufferedReader(new InputStreamReader(httpcon.getInputStream()));
1
#6
.S.T.A.L.K.E.R كتب:

لان المتصفح يقوم باضافة معلومات الى الاستعلام الخارج من جهازك الى الموقع

اما من خلال الجافا فعليك انت ان تضيفها الى استعلامك.

حاول ان تضيف مثلا كالتالي:

url = new URL(urlName);

HttpURLConnection httpcon = (HttpURLConnection) url.openConnection(); 
httpcon.addRequestProperty("User-Agent", "Mozilla/4.76"); 
BufferedReader in = new BufferedReader(new InputStreamReader(httpcon.getInputStream()));

للاسف ضفتها و برضو مشتغلش :blink:

طيب عندي سؤال

لما جيت قبل كدا اعمل بروسر صغير محصلش معايا كدا خالص

ليه بس حصل معا جوجل ؟؟؟؟؟؟؟؟؟؟

#7

حسب الموقع الذي تتصل به، جووجل يمنع استخدام البحث الخاص بالمتصفحات الا من خلال متصفح

لذلك عليك اضافة بعض المعلومات الى الاستعلام لكي يوهم الموقع انك تستخدم متصفح

#8

السبب هو استخدامك لJEditorPane ، وقدرات الJEdiotrPane محدوده في عرض صفحات ويب بسيطه

كمان ان جربت اغير الURL وخليه yahoo ما عملش مشكله

تم تعديل هذه المشاركة بواسطة mental-driller في 17 مايو 2011 في 23:07

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#9
mental-driller كتب:

السبب هو استخدامك لJEditorPane ، وقدرات الJEdiotrPane محدوده في عرض صفحات ويب بسيطه

كمان ان جربت اغير الURL وخليه yahoo ما عملش مشكله

انا مش قصدي علي طريقه العرض لان هوا بيستخدم كود الاتش تي ام ال

فلازم مش هيظهر بمنظر كويس

و غير كدا انا قصدي علي جوجل بالتحديد مش ياهو

المشكله ف جوجل

ياريت حد يساعدني اكتر ,,

و اهو صغرت الخط ههههههههههه :)

#10

يا اخي انا قلت لك قدرات JEditorPane محدوده يعني ما يقدرش يعمل حاجات معقده

وكانت شركةsun وعدت بانها حتعمل JWebPane بس لحد الان المشروع لم يرى الضوء

تم تعديل هذه المشاركة بواسطة mental-driller في 19 مايو 2011 في 02:03

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#11
mental-driller كتب:

يا اخي انا قلت لك قدرات JEditorPane محدوده يعني ما يقدرش يعمل حاجات معقده

وكانت شركةsun وعدت بانها حتعمل JWebPane بس لحد الان المشروع لم يرى الضوء

تمام انا فاهم قصدك

انا برضو مش قصدي علي مشكله العرض

انا قصدي علي مشكله ال Server response

بس بجد ياريت sunتعمل الJWebPane دي

هتسهل علينا كتير

بس انا عندي فكره

هل من اللمكن اني اجيب كود الاتش تي ام ال و اضيفلو كود ال CSSبحيث استطيع اظهارها في شكل افضل ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

#12

المشكله هي زي ما اشار الاخ هويدي في بداية الموضوع ، انه غوغل عاملها API خاص للتعامل مع موقعها

بالنسبة JWebPane الامر الان صار بيد اوراكل ولا ادري اذا كانت اوراكل سوف تواصل المسيرة

والله انا مجربتش اعمل تنسيق بالCSS شوف يمكن ينفع؟

ايه الحل بالنسبة للانتا عاوز تعمله؟

الحل هو انك تستخدم واحد من open source projects وفي كثير projects للتطوير قوة البروزر على الجافا، وكل الناس حتقول لك : لا يا عم وتعمل ويب بروزر from scratch ليه ، ابني من الادوات اللي بيطوروها

تم تعديل هذه المشاركة بواسطة mental-driller في 19 مايو 2011 في 04:20

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#13

هناك مكتبات تقلد المتصفحات تماماً

وتمكنك من عمل طلبات وكأنك متصفح عادي يمكن القول عنها محاكيات

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة